compact(): 未定义的变量: 运算符

2022-08-30 14:15:06

我收到以下错误

  (1/1) ErrorException
  compact(): Undefined variable: operator

这是我的代码行

$postsCat = Post::whereHas('Cat', function($query) use ($sreachWord) {
    return $query->whereRaw('name REGEXP"'.sql_text_to_regx($sreachWord).'"');
})->orderBy('top','desc')
->orderBy('updated_at','desc')
->paginate(30);

为什么会发生这种情况?是因为我的PHP版本(7.3)还是其他原因?


答案 1

转到您的项目

vendor\laravel\framework\src\Illuminate\Database\Query\Builder.php

在编号为1337的代码中,您可以在该方法中找到以下代码addWhereExistsQuery

$this->wheres[] = compact('type', 'operator', 'query', 'boolean');

您只需删除“运算符”参数即可。

我希望它能正常工作。


答案 2

请参阅此 https://github.com/laravel/framework/issues/26936

Laravel的版本需要更新。


推荐