Laravel查询关系

时间:2018-08-06 05:57:20

标签: php laravel eloquent

我对此关系有疑问

$query = ExtraDay::with([
        'credit.client'
    ]);

现在,我要对CLIENT模型中的“名称”字段进行搜索字段过滤。 ExtraDay模型通过Credit模型连接到Client模型。下面有一种方法可以搜索与((['client']);

$query->where('name', 'like', "%$q%")->whereHas('client', function 
($organization) use ($q) {
            $organization->where('name', 'like', "%$q%")
                ->orWhere('short_name', 'like', "%$q%");

但是我有(['credit.client']);在这种情况下如何搜索“名称”字段?

1 个答案:

答案 0 :(得分:0)

whereHas适用于嵌套关系,因此请使用相同的点符号credit.client。例如:

ExtraDay::whereHas('credit.client', function ($client) use ($q) {
     $client->where('name', 'like', "%$q%");
})->get();