0

我正在尝试验证具有以下结构的模型:

+------------+
| User       |
+------------+
| id         |
| username   |
| company_id |
+------------+

用户可以属于公司的位置。目前我正在使用以下规则验证用户名在用户表中是唯一的:

'username' => ["unique:users"]

编辑当前用户时,我想忽略当前行,我这样做使用:

'username' => ["unique:users,username,10"]

它有效。

现在我想验证用户名在公司内是唯一的是唯一的。

如何验证字段在某些行中是唯一的(其中 company_id = some-id)?

4

1 回答 1

2

虽然它没有在 Laravel 文档中记录,但可以通过添加额外的参数来完成,该参数将被翻译为 where 子句。

以下将执行您的要求:

'username' => ["unique:users,username,10,id,company_id,31"]

它将被翻译成如下的 SQL 语句:

select 
  count(*) 
from 
  users 
where username   =  ?
  and id         <> 10
  and company_id =  31
于 2013-08-05T18:20:35.073 回答