【发布时间】:2021-08-25 07:38:26
【问题描述】:
我想制作一个控制器功能来按名称搜索用户并仅显示那些不在项目中的名称。
这是一个 SQL 查询,用于显示名称包含 'mmm' 且尚未在项目 id = 2 中的用户:
SELECT `firstname`
FROM `user_details`
WHERE (
`firstname` LIKE "%mmm%" AND `user_id` NOT IN (
SELECT `member_id` FROM `project_members` WHERE `project_members`.`project_id` = 2)
)
在查询生成器中(不起作用):
$searchResults = DB::table('user_details')
->select('user_details.user_id', 'user_details.firstname', 'user_details.lastname', 'user_details.nickname', 'user_details.status')
->whereNotIn('user_details.user_id', DB::table('project_members')
->select('member_id')
->where('project_id', '=', $request->project_id)
->get()
->toarray()
)
->where('user_details.firstname', 'LIKE', '%'.$request->searchString.'%')
->orWhere('user_details.lastname', 'LIKE', '%'.$request->searchString.'%')
->get();
你知道我哪里做错了吗?谢谢!
【问题讨论】:
标签: laravel query-builder