Yii2:如何检查值在以下情况下是唯一的
Yii2 : how to check value is unique with below scenario
我的 table 及其数据
id |type | email
1 |1 | user1@domain.com
2 |1 | user2@domain.com
3 |2 | user3@domain.com
4 |2 | user4@domain.com
5 |2 | user5@domain.com
他们有很多类型 1,2,3,4,5,..
除类型 2
外,所有 TYPE 都有重复的电子邮件
但是,我想让列电子邮件仅对 type 2 唯一
使用 yii2 模型验证
您可以使用 filter 并尝试类似的操作,但未经过测试
['email', 'unique', 'targetClass' => Model::className(), 'filter' => function ($query) {
return $query->andWhere(['type' => 2]);
}],
我的 table 及其数据
id |type | email
1 |1 | user1@domain.com
2 |1 | user2@domain.com
3 |2 | user3@domain.com
4 |2 | user4@domain.com
5 |2 | user5@domain.com
他们有很多类型 1,2,3,4,5,..
除类型 2
外,所有 TYPE 都有重复的电子邮件但是,我想让列电子邮件仅对 type 2 唯一 使用 yii2 模型验证
您可以使用 filter 并尝试类似的操作,但未经过测试
['email', 'unique', 'targetClass' => Model::className(), 'filter' => function ($query) {
return $query->andWhere(['type' => 2]);
}],