我的模型规则如下所示
public function rules()
{
return [
['default', 'boolean'],
['default', 'exist', 'targetAttribute' => 'default', 'filter' => ['default' => 1], 'message' => 'Cock'],
['length', 'integer'],
['length', 'unique'],
];
}
我试图确保只有一条记录可以拥有模型属性'默认'设为' true'。它们都可能是假的,但如果有意义的话,不能超过一个。
我在这里做错了什么?
由于
答案 0 :(得分:2)
[类yii \ validators \ ExistValidator] [1]
public function rules()
{
return [
['default', 'boolean'],
['default', 'exist', 'targetClass' => '\common\models\Where?SearchModel', 'targetAttribute' => 'default', 'filter' => ['default' => 1], 'message' => 'Cock'],
['length', 'integer'],
['length', 'unique'],
];
}
如果ExistValidator无法提供帮助,您可以尝试声明。
if (Model::find()->where((['default' => $model->default)->existes()){
}