我收到此错误:
(3/3) QueryException
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'value' in where clause is ambiguous (SQL: select * from `users` where exists (select * from `permission_templates` inner join `permissions` on `permission_templates`.`value` = `permissions`.`value` where `users`.`id` = `permissions`.`user_id` and (`value` = TICKET_LIST or `value` = MASTER) and `permission_templates`.`deleted_at` is null) and `id` != 3 and `users`.`deleted_at` is null)
Run Code Online (Sandbox Code Playgroud)
如果我运行这个
$collaborators = User::whereHas('permissions', function($query) {
$query->where('value', 'TICKET_LIST')
->orWhere('value', 'MASTER');
})->where('id', '!=', Auth::id())
->get();
Run Code Online (Sandbox Code Playgroud)
看起来您的用户表中有一个名称为“值”的列。
要解决此问题,您只需在其中的列名称之前添加表名称,
$collaborators = User::whereHas('permissions', function($query) {
$query->where('permissions.value', 'TICKET_LIST')
->orWhere('permissions.value', 'MASTER');
})->where('id', '!=', Auth::id())
->get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
701 次 |
| 最近记录: |