Laravel 5.4 / Blade не показывает переменную, которая является пустой строкой с пробелом: "" - PullRequest
0 голосов
/ 07 июня 2018

Это странный вопрос, так как он кажется таким простым, но, увы, он застрял.У меня есть переменная: $customer->PhoneWork, которая в настоящее время пуста, возвращая " ".В шаблоне Blade я хочу условно отобразить его, только если он не пустой:

    @unless (empty($customer->PhoneWork))
      Work: {{ $customer->PhoneWork }}
    @endunless

Проблема в том, что, хотя кажется, что сейчас он будет пустым, empty($customer->PhoneWork) неверно.Я также пытался is_null() и !isset(), и все испытывают ту же проблему.Что мне здесь не хватает?

Ответы [ 3 ]

0 голосов
/ 07 июня 2018

Если я правильно понимаю, вам нужно выполнить действие, если строка содержит пустые символы.так что ...

функция empty($var) равна !isset($var) || $var == false.

Возможно, вам придется использовать ctype_space($str)

0 голосов
/ 07 июня 2018

empty(trim($customer->PhoneWork)) делает свое дело!Он проверяет, является ли обрезанная строка пустой.

0 голосов
/ 07 июня 2018

Согласно документации :

Определить, является ли переменная пустой

Так что, если переменная равна empty, она вернется true, а если это не так, он вернет false.

. В результате вам нужно trim значение и отменить проверку:

@if (!empty(trim($customer->PhoneWork))

Эта проверка теперь говорит: Если $customer->PhoneWork (обрезано) НЕ пусто

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