Laravel Spatie Query Builder

В индексе моего пользовательского контроллера у меня есть следующее:

return QueryBuilder::for(User::class)
->with('phoneNumbers')
->allowedIncludes('trashed')
->get();

Я надеялся передать включаемый параметр следующим образом:

http://127.0.0.1:8000/v1/users?include=trashed

Чтобы добавить withTrashed() глобальный охват запроса.

Это возможно? Я, скорее всего, упускаю что-то очевидное, я пробовал несколько вариантов в моем тестировании, обычно заканчивающемся ошибкой, такой как:

"message": "Call to a member function addEagerConstraints() on boolean",
"exception": "Symfony\\Component\\Debug\\Exception\\FatalThrowableError",
"file": "/Users/timwickstrom/Sites/Wavefire/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 522,

Для справки:
https://github.com/spatie/laravel-query-builderвведите описание ссылки здесь

0

Решение

После проверки этой библиотеки, вот что у меня есть.

return QueryBuilder::for(User::class)
->with('phoneNumbers') // <-- I think you can use `allowedIncludes` here.
->allowedFilters([ // <-- I believe that `withTrashed` is a scope query,
// so you can use this. You cannot use `allowedIncludes`
// because it works with relations.
Filter::scope('withTrashed')
])
->get();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]