Задать вопрос
@mrFlyer

Как установить в Laravel 5 связь по умолчанию, если не найдено?

Приветствую.

Есть модель, у модели связь.

В шаблоне я дергаю метод у связанной модели:
$model->relation->method()

Если связи нет, что возможно, выбивается логичная ошибка что `method()` не существует.

Как разрулить это оптимально, что бы не делать везде в коде проверку на наличие связи? Как то подсунуть ему дефолтную модель?
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@snowsem
PHP/RUBY Разработчик
А как ты назначишь дефолт на разные связи? у тебя будут разные модели и для каждой все равно надо писать условно try. Их все равно придется проверять
Если в View проверить надо то так:
@if (isset($t->callStatusColor)) {{$t->callStatusColor}} @endif
Ответ написан
Комментировать
@mrFlyer Автор вопроса
Сделал так. Не знаю на сколько правильно ...

public function getSomeAttribute(){
        if (!$some =   $this->getRelation('some')) {
            $some =   new Some();
            $some->setDefaults();
        }
        return $some;
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы