Подтвердить что ты не робот

Лезвие Laravel 4.2: проверьте, нет ли пустого

В клипе Laravel вы можете сделать:

{{ $variable or 'default' }}

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

Я ищу функцию сокращенного "лезвия" для этого:

{{ ($variable != '' ? $variable : '') }}

Трудно использовать эту часть или код для этого, я не знаю, как это сделать со ссылкой или что-то вроде этого:

<a href="{{ $school->website }}" target="_blank">{{ $school->website }}</a>

Я пробовал:

{{ ($school->website != '' ? '<a href="{{ $school->website }}" target="_blank">{{ $school->website }}</a>' : '') }}

Но это не сработает. И я хотел бы сохранить мой код как можно короче;)

Может кто-нибудь объяснить это мне?

UPDATE

Я не использую foreach, потому что из базы данных я получаю один объект (одну школу). Я передал его с моего контроллера на свое мнение:

 $school = School::find($id);
 return View::make('school.show')->with('school', $school);

Итак, я не хочу делать @if($value != ''){} вокруг каждой переменной $(например, $school- > name).

4b9b3361

Ответ 1

попробуйте следующее:

@if ($value !== '')
    {{ HTML::link($value,'some text') }}
@endif

Ответ 2

Я предпочитаю @unless директиву для удобства чтения в этом случае.

@unless ( empty($school->website) )
    <a href="{{ $school->website }}" target="_blank">{{ $school->website }}</a>
@endunless

Ответ 3

{{ ($school->website != '' ? '<a href="{{ $school->website }}" target="_blank">{{ $school->website }}</a>' : '') }}

измените на

{{ ($school->website != '') ? '<a href="' . $school->website . '" target="_blank">' .  $school->website . '</a>' : '' }}

или тот же код

{{ ($school->website != '') ? "<a href='$school->website' target='_blank'>$school->website</a>" : '' }}

Ответ 4

С php 7 вы можете использовать оператор объединения нулей. Это сокращение для @m0z4rt ответа.

{{ $variable ?? 'default' }}

Ответ 5

{{ isset($variable) ? $variable : 'default' }}

Ответ 6

Интересно, почему никто не говорил о том, что $variable->isEmpty() выглядит лучше, чем другие.