Laravel nestedwhere Parse error: syntax error, unexpected '}'

Laravel nestedwhere Parse error: syntax error, unexpected '}'

Symfony\Component\Debug\Exception\FatalThrowableError: 解析错误:语法错误,意外的'}'

我在此处的嵌套位置遵循此资源: 但是在 运行 代码时出现以下错误。断的那一行是回调函数的大括号,这里有什么问题?

$providers = DB::table('users')
->where('verified', '=', 1)
->where('status', '=', 1)
->where(function ($query) use ($search) {
    $query->where(DB::raw('lower(name)'), 'LIKE', "%".strtolower($search)."%")
    ->orWhere(DB::raw('lower(username)'), 'LIKE', "%".strtolower($search)."%")
})
->where('city', '=', $t)
->take($limit)
->toSql();

您的内在 $query 后缺少一个 ;。我认为那部分可能是这样的:

->where(function ($query) use ($search) {
    $query->where(DB::raw('lower(name)'), 'LIKE', "%".strtolower($search)."%")
    ->orWhere(DB::raw('lower(username)'), 'LIKE', "%".strtolower($search)."%");
})

代码末尾需要那个分号,因为它是函数中的一行/语句。这个函数是回调也没关系