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

标签 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();

关于laravel-5.1 - 如何在 Laravel 5.1 中的 WHERE 子句函数中传递动态值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007902/

相关文章:

php - 一对一私有(private)聊天使用套接字和 Laravel 5.1

php - laravel 5.1 Password::reset 返回 passwords.password

mysql - 如何将数据库索引与数据表和 yajra/laravel-datatables 一起使用

javascript - 无法读取未定义的属性 'hasTime'

checkbox - 在 Laravel 中激活/停用多个客户端

php - Laravel 方法不接收 $request 上的发布数据

php - 将哪些文件放在 Bitbucket 上以便我的团队可以使用?

php - 拉维尔 5.1 : Unable to get form data in middleware

php - 如何在 Blade View 中动态插入代码

Laravel 5 和 Cloudflare SSL