问题
Looking for a ternary operator for blade templates
@if(Auth::check()) ? yes : no @endif
Can't seem to get it to work this works
@if(Auth::check()) yes @else no @endif
suppose there is not much in it for this example, just curious.
回答1:
You are free to use it with {{ }}
.
{{ Auth::check() ? 'yes' : 'no' }}
回答2:
This works:
{{ Auth::check() ? 'yes' : 'no' }}
回答3:
I know this question was asked a while ago, but this may help somebody.
You can now do this in Laravel 5.
{{ $variable or "default" }}
Laravel 5 Blade Templates
Laravel 5.2 Blade Template
回答4:
in addition, here is a nice shortcut ?:
, if you you need to print some variable's value or if it's empty some default text
{{ $value ?: 'Default Value' }}
回答5:
For Laravel 5 + php7, you should be using the null coalesce operator as explained in this Laravel News article, like so:
{{ $value ?? "Fallback" }}
Before the null coalescing operator, Blade handled the same problem with the “or” operator, which allows a default value when the first value isn’t set, separated by an “or”.
来源:https://stackoverflow.com/questions/25284344/ternary-in-laravel-blade