Yii2: как проверить уникальность значения в следующем сценарии

моя таблица и ее данные

id   |type | email
1    |1    | [email protected]
2    |1    | [email protected]
3    |2    | [email protected]
4    |2    | [email protected]
5    |2    | [email protected]

Их много типа 1,2,3,4,5,..

Все TYPE имеют повторяющиеся электронные письма, кроме типа 2.

но я хочу сделать электронную почту столбца уникальной только для типа 2, используя проверку модели yii2


person Shringiraj Dewangan    schedule 26.03.2021    source источник


Ответы (1)


Вы можете использовать фильтр и попробовать что-нибудь вот так, не проверял

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