Yii2:如何检查值在以下场景中是唯一的

Yii2:如何检查值在以下场景中是唯一的,yii2,yii2-model,yii2-validation,Yii2,Yii2 Model,Yii2 Validation,我的表及其数据 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 但是,我想让专栏电子邮件只对类型2 使用yii2模型验证您可以使用并

我的表及其数据

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

但是,我想让专栏电子邮件只对类型2 使用yii2模型验证

您可以使用并尝试类似的方法,但没有经过测试

['email', 'unique', 'targetClass' => Model::className(), 'filter' => function ($query) {
    return $query->andWhere(['type' => 2]);
}],