laravel对is_active为1的行进行唯一验证

xdyibdwo  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(115)

我想在一列上实现唯一验证,但它应该只检查表的活动行。那么有没有什么方法可以使用laravel验证来实现这个逻辑呢?
下面是我用来检查唯一记录的逻辑,但它不起作用。

unique:users,email,is_active,1
mzmfm0qo

mzmfm0qo1#

根据laravel验证文档,您可以将其执行为:

Rule::unique('users', 'email')->ignore(0, "is_active"),
c9x0cxw0

c9x0cxw02#

您可以使用如下附加子句来限定查询的范围:

Rule::unique('users', 'email')->where(fn ($query) => $query->where('is_active', 1));

另一种语法为:

unique:users,email,NULL,id,is_active,1

相关问题