YII2 存在带过滤器的验证器
YII2 exists validator with filter
我的模型规则如下所示
public function rules()
{
return [
['default', 'boolean'],
['default', 'exist', 'targetAttribute' => 'default', 'filter' => ['default' => 1], 'message' => 'Cock'],
['length', 'integer'],
['length', 'unique'],
];
}
我试图确保只有一条记录可以将模型属性 'default' 设置为 'true'。它们可以都是假的,但如果有意义的话,最多只能将一个设置为真。
我做错了什么?
谢谢
[Class 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()){
}
我的模型规则如下所示
public function rules()
{
return [
['default', 'boolean'],
['default', 'exist', 'targetAttribute' => 'default', 'filter' => ['default' => 1], 'message' => 'Cock'],
['length', 'integer'],
['length', 'unique'],
];
}
我试图确保只有一条记录可以将模型属性 'default' 设置为 'true'。它们可以都是假的,但如果有意义的话,最多只能将一个设置为真。
我做错了什么?
谢谢
[Class 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()){
}