如何在 Laravel 5.1 中的 WHERE 子句函数中传递动态值?

How to pass a dynamic value in a WHERE clause-function in Laravel 5.1?

我正在尝试在 Laravel 5.1 中的 WHERE 子句函数中传递动态值 但出现 undefined variable 错误。

这是我的代码:

$bride_data = \DB::table('brides')->where('url', '=', $url)->orderBy('id', 'DESC')->get();
$bride_id=$bride_data[0]->bride_id;

$comments_data = \DB::table('comments')
    ->where('request_id', '=', $bridal_requests_data[0]->id)
    ->where(function($query) {
        $query->where('sender_id', '=', $bride_id) // this value needs to be dynamic
              ->orWhere('receiver_id', '=', $bride_id); // this value needs to be dynamic
        })
        ->get();

上面说到$bride_id是要动态传递的值

您需要像这样将 bride_id 传递给闭包:

$comments_data = \DB::table('comments')
            ->where('request_id', '=', $bridal_requests_data[0]->id)
            ->where(function($query) use ($bride_id)
            {
                $query->where('sender_id', '=', $bride_id)   // this value to be dynamic
                 ->orWhere('receiver_id', '=', $bride_id);   // this value to be dynamic
            })
            ->get();