Как написать вложенный одиночный запрос в Laravel Eloquent - PullRequest
1 голос
/ 27 апреля 2020

Это два запроса, которые я запускаю. Я хочу сделать это проще и быстрее. как мне это сделать?

$parentList = Category::select('parent_id')->groupBy('parent_id')->get()->toArray();

$categories = Category::whereNotIn('categories.id', $parentList)->get();

Категории таблиц имеют следующие столбцы (id, parent_id, name)

1 Ответ

0 голосов
/ 27 апреля 2020

Сделайте это отношение в вашей модели категории следующим образом: -

public function parents()
{
    return $this->hasOne('App\Category', 'parent_id', 'id');
}

Затем просто используйте это отношение как: -

$categories = Category::whereDoesntHave('parents')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...