Можно ли проверить, было ли отношение включено в Eloquent? - PullRequest
1 голос
/ 02 апреля 2019

У меня есть модель с множеством отношений через одно конкретное отношение.Можно ли проверить, было ли это отношение включено в конструктор где-то раньше?

Например:

$users->when($request->get('some-thing'), function($query, $id) {
    $query->whereHas('entries.some_thing', function($_query) {
    });
})->when($request->get('other-thing'), function($query, $id) {
    $query->whereHas('entries.other_thing', function($_query) {
    });
})->when($request->get('third-thing'), function($query, $id) {
    $query->whereHas('entries.third_thing', function($_query) {
    });
});

// .......

if ($users->entries_was_not_included()) {
    $users->has('entries')
}

$users = $users->get();

Идея состоит в том, чтобы пропустить дополнительное включение, уже присоединенное где-то еще.

1 Ответ

1 голос
/ 02 апреля 2019

Возможно

if ($user->relationLoaded('entries')) {
    // entries are loaded code
}

Docs .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...