Я пытался использовать with в макросе Eloquent, но получаю следующее сообщение об ошибке:
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();
Затем я получаю сообщение об ошибке.
Это баг или я что-то не так делаю?






Вы используете неправильный импорт, попробуйте вместо этого добавить макрос в красноречивый билдер:
use Illuminate\Database\Eloquent\Builder;