如何在 Laravel Eloquent Eager Loading 函数中使用参数?

How to use parameters in Laravel Eloquent Eager Loading functions?

我需要使用 Laravel 5.6 在多个数据库表上 运行 一个 select 并且我从 post $request.

我想做这样的事情,但这是错误的:

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

在此示例中,$request 将是一个未定义的值,但之前已定义并具有值。

执行此查询的正确方法是什么?

您必须使 $request 在闭包内可用:

function($query) use($request) {