如何在多个表中使用参数选择Laravel 5.6 Eloquent?

时间:2018-04-01 20:17:58

标签: php laravel laravel-eloquent laravel-5.6

我需要使用Laravel 5.6在多个数据库表上运行select,我从帖子$request获取参数。现在我只有在给定值与记录值相等的情况下才需要取回记录。

我想做这样的事情,但无论贷款的查询部分发生了什么,这都会收回每个客户和部门数据:

Casefile::with([
    'client',
    'loan' => function($query) use($request) {
         $query->where('bank_name','REGEXP',$request->bank_name)
    },
    'section'
])->where($find)->get();

我希望只有 bank_name$request->bank_name匹配时才能取回整个记录

我该怎么做?

1 个答案:

答案 0 :(得分:2)

试试这个:

Casefile::with([
    'client',
    'section'
])->whereHas('loan', function($query) use($request) {
     $query->where('bank_name','REGEXP', $request->bank_name)
})->where($find)->get();