compact (): Undefined variable: operator
今天部署了一个从 5.2 升级到 5.5 的项目,在调试过程中发现:查询语句中如果使用 whereHas 那么就会报 compact(): Undefined variable: operator
这个错
最后对比了这个项目的框架核心源码以及其他 5.5 项目的框架核心源码,发现是 \vendor\laravel\framework\src\Illuminate\Database\Query\Builder.php
下的 addWhereExistsQuery
方法中:
// 升级到 5.5 的项目
$this->wheres[] = compact('type', 'operator', 'query', 'boolean');
// 其他 5.5 的项目
$this->wheres[] = compact('type', 'query', 'boolean');
正好多了一个 operator
参数,删掉之后就解决问题了
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: