【发布时间】:2018-03-30 12:11:17
【问题描述】:
我有两个嵌套关系,一个是requester.link 和requester.company,我希望两者都搜索单词$request->search。
代码不言自明:
$clients = \App\AcceptedConnection::with('requester.link', 'requester.company')
->where('accepter_id', Auth::user()->id)
->orWhereHas('requester.link', function ($query) use ($request) {
$query->orWhere('name', $request->search);
})->orWhereHas('requester.company', function ($query) use ($request) {
$query->orWhere('email', $request->search);
$query->orWhere('firstname', $request->search);
$query->orWhere('lastname', $request->search);
})->get();
它给我任何搜索的记录,即使搜索不匹配它也会返回记录,搜索任何东西它都会给你记录,
我错过了什么?
【问题讨论】:
-
你有多个OR条件,如果其中任何一个满足,记录就会出现
-
@AlivetoDie 这正是预期的行为,但即使搜索查询不匹配,我也会获得记录。
标签: php mysql database laravel-5 eloquent