функция в модели, которая возвращает логическое значение, не может ничего вернуть в представлении лезвия, если оно ложно

У меня есть функция в модели, которая может возвращать либо true, либо false.

Я использую эту функцию внутри представления, и первое, что я обнаружил, когда вызвал ее, это

{{ Setting::isDesktop() }}

что он выводит 1 вместо true, если я делаю это внутри файла блейда. Если я сделаю dd({{ Setting::isDesktop() }}), то он напечатает true или false.

Вторая проблема, которая вызывает у меня проблему, заключается в том, что если значение равно false, то при выполнении этого из файла лезвия ничего не печатается. Мне нужно что-то напечатать 1/0 или true/false

Почему логическое значение преобразуется в числа внутри файлов блейдов, но не в контроллерах? Как я могу что-то напечатать, когда isDesktop возвращает false? Сейчас он ничего не печатает в этом случае.


person niko craft    schedule 21.06.2017    source источник


Ответы (1)


Есть несколько способов, которыми вы можете выполнить свое требование.
Вот несколько из них,
1. Используйте тернарный оператор, как показано ниже,

{{ Setting::isDesktop() ? 'true' : 'false' }}

2. Используйте var_export, как показано ниже,

{{ var_export(Setting::isDesktop()) }}

person manian    schedule 21.06.2017