我正在尝试在 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();
关于laravel-5.1 - 如何在 Laravel 5.1 中的 WHERE 子句函数中传递动态值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007902/