Я пишу некоторые шаблоны Blade Laravel, и у меня есть модели, которые могут иметь нулевые объекты. Я бы очень хотел просто попробовать и получить свойство объекта, и если есть ошибка, просто верните null.Laravel Blade шаблон как вернуть null вместо ErrorException при попытке получить свойство не-объекта
Таким образом, вместо того, чтобы написать это:
@if ($model->child_object_that_may_be_null)
{{ $model->child_object_that_may_be_null->interesting_property }}
@endif
Я мог бы просто написать это:
{{ $model->child_object_that_may_be_null->interesting_property }}
и если дочерний объект имеет нулевое значение, то результат имеет значение нуль.
Я хочу делать это только с помощью своих шаблонов клинков, а не везде в приложении (например, я бы хотел получить ошибку в контроллерах).
Есть ли простой способ достичь этого? Я также действительно не хочу, чтобы каждый раз пытаться/улавливать исключение в шаблонах клинков.
В принципе, я пытаюсь сделать шаблоны клинков проще/короче, когда мне неважно, что у меня есть null, если он равен нулю, то его несуществующее свойство должно быть равно null также для рендеринга часть.
Вы можете использовать тернар, это то, что я обычно делаю, и включить его все в одном '{{}}' vs, используя блок @ @ if – Pitchinnate
@Pitchinnate, да, это немного короче, но я все еще нужно написать условие. Я ленив и не хочу вообще проверять :-) –
В PHP 7 используйте '??' оператор; '{{$ model-> свойство ?? 'default'}} ' – Kyslik