laravel - 使用 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();
解决方案
你去,只是缺少分号:
$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();