我想在一列上实现唯一验证,但它应该只检查表的活动行。那么有没有什么方法可以使用laravel验证来实现这个逻辑呢?下面是我用来检查唯一记录的逻辑,但它不起作用。
unique:users,email,is_active,1
mzmfm0qo1#
根据laravel验证文档,您可以将其执行为:
Rule::unique('users', 'email')->ignore(0, "is_active"),
c9x0cxw02#
您可以使用如下附加子句来限定查询的范围:
Rule::unique('users', 'email')->where(fn ($query) => $query->where('is_active', 1));
另一种语法为:
unique:users,email,NULL,id,is_active,1
2条答案
按热度按时间mzmfm0qo1#
根据laravel验证文档,您可以将其执行为:
c9x0cxw02#
您可以使用如下附加子句来限定查询的范围:
另一种语法为: