laravel,如何获得3个选项的值,如果是,那么如果是,那么否则如果r则拒绝
问题描述:
in simple way I have this code which reads the result of two options but what if I want them to be 3
I have 3 chars: y
, n
and r
y = yes
n = not yet
r = rejected
How can I print the last alternative?
{{ ($item->confirmed =='y')?"Yes":"Not Yet" }}
答
Use a switch in the blade syntax instead, this is available from Laravel 5.5
@switch($item->confirmed)
@case('y')
Yes
@break
@case('n')
Not yet
@break
@default
Rejected
@endswitch
If you are running a version without the switch
directive, you can use a normal if
.
@if ($item->confirmed == 'y')
Yes
@elseif ($item->confirmed == 'n')
Not yet
@else
Rejected
@endif
You can also chain the ternary operators, but its not as pretty. I would recommend going for either of the two above. This can easily be more difficult to read, particularly if you add more conditions - its better to use a switch.
{{ ($item->confirmed == 'y') ? "Yes" : ($item->confirmed == 'n' ? "Not Yet" : 'Rejected') }}