无法在雄辩的查询生成器宏中使用“ with”

时间:2019-06-23 14:04:00

标签: php laravel eloquent

我试图在Eloquent宏上使用with,但收到以下错误消息:

Call to undefined method Illuminate\Database\Query\Builder::with()

以下作品:

$builder = Model::query();
$builder->with('relationship')->toSql();

但是如果我在宏中执行此操作:

use Illuminate\Database\Query\Builder;

Builder::macro('foobar', function() {
    $this->with('relationship')->toSql());
});

$builder = Model::query();
$builder->foobar();

然后我收到一条错误消息。

这是错误还是我做错了?

1 个答案:

答案 0 :(得分:2)

您使用的导入错误,请尝试将宏添加到雄辩的生成器中:

use Illuminate\Database\Eloquent\Builder;