YII2使用过滤器存在验证器



我的模型规则如下所示

 public function rules()
{
    return [
        ['default', 'boolean'],
        ['default', 'exist', 'targetAttribute' => 'default', 'filter' => ['default' => 1], 'message' => 'Cock'],
        ['length', 'integer'],
        ['length', 'unique'],
    ];
}

我正在尝试确保只有单个记录可以将"默认值"设置为" true"。它们都可能是错误的,但是如果这很有意义,则不超过一个。

我在这里做错了什么?

谢谢

[类yii valivators equintvalidator] [1]

     public function rules()
{
    return [
        ['default', 'boolean'],
        ['default', 'exist', 'targetClass' => 'commonmodelsWhere?SearchModel', 'targetAttribute' => 'default', 'filter' => ['default' => 1], 'message' => 'Cock'],
        ['length', 'integer'],
        ['length', 'unique'],
    ];
}

如果AstainValidator无能为力,则可以尝试使用语句。

if (Model::find()->where((['default' => $model->default)->existes()){
}

最新更新