首页 > 解决方案 > 使用 laravel where 分组时出现意外的 '}'

问题描述

我正进入(状态

语法错误:意外的“}”

在 ->where('to_user_id', $to_user_id) 之后。我已将出现错误的地方加粗。我正在从函数传递变量。我只需要有关此语法错误的帮助。

 $results = DB::table('chat_messages')
                    ->where(function ($query) use ($from_user_id, $to_user_id)
                    {
                        $query->where('from_user_id', $from_user_id)
                          ->where('to_user_id', $to_user_id)
                    **}**)
                        ->orWhere(function ($query) use ($from_user_id, $to_user_id)
                     {
                        $query->where('from_user_id', $to_user_id)
                            ->where('to_user_id', $from_user_id)
                    })
                        ->orderBy('timestamp', 'desc')
                        ->get();

标签: laravel

解决方案


你去,只是缺少分号:

$results = DB::table('chat_messages')
                ->where(function ($query) use ($from_user_id, $to_user_id)
                {
                    $query->where('from_user_id', $from_user_id)
                      ->where('to_user_id', $to_user_id); //here
                })
                    ->orWhere(function ($query) use ($from_user_id, $to_user_id)
                 {
                    $query->where('from_user_id', $to_user_id)
                        ->where('to_user_id', $from_user_id); // here
                })
                    ->orderBy('timestamp', 'desc')
                    ->get();

推荐阅读