Laravel - Проверьте, имеет ли коллекция отношение - PullRequest
0 голосов
/ 11 июня 2019

У меня есть форма с некоторыми флажками, и когда определенные флажки установлены, я условно создаю объединение с моделью Eloquent

$collection = Model::with('some_relation')
     ->when(!is_null($request->input('make')), function($query) {
         $query->with('make');
      })
      ->get();

Все это работает, как и ожидалось.

Что мне нужнобыть в состоянии сделать это проверить наличие этой связи в представлении.На мой взгляд, у меня есть таблица, и мне нужно знать, существует ли это отношение, и создаю ли я заголовок таблицы для этого отношения.

Я перепробовал все, что смог найти, и ничего не работает.Я даже попробовал следующее, но оно возвращает true, даже если отношение не существует

$test = $collection->contains(function ($value, $key) {
    return $value['make'];
});

Я также пытался count($collection->make);, но оно говорит:

Свойство [make] не существует в этом экземпляре коллекции

Все, что я хочу, чтобы увидеть, существует ли связь

1 Ответ

0 голосов
/ 12 июня 2019

Нашел ответ

$test = $collection->filter->relationLoaded('make')->isEmpty();

Вернет true, если связь не существует

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