我想根据条件为laravel刀片文件中的变量赋值。
<?php $status=''; ?>
@if($user_role=='2'){
<?php $status='1'; ?>
}
@elseif($user_role=='3'){
<?php $status='2'; ?>
}
@elseif($user_role=='4'){
<?php $status='3'; ?>
}
但{{status}}不返回任何内容。如何为laravel 5.3刀片文件中的变量赋值
答案 0 :(得分:4)
@if($user_role=='2')
@php $status='1'; @endphp
@endif
@if($user_role=='3')
@php $status='2'; @endphp
@endif
@if($user_role=='4')
@php $status='3'; @endphp
@endif
您可以通过添加echo
来检查该值
@if($user_role=='4')
@php echo $status='3'; @endphp
@endif
答案 1 :(得分:2)
Switch语句会更好
@switch($user_role)
@case(1)
@php $status = 1;@endphp
or <h1>Status is 1</h1>
@break
@case(2)
Second case...
@break
@default
Default case...
@php $status = 5;@endphp
@endswitch
但大多数(如果不是全部)逻辑应该在控制器中完成
https://laravel.com/docs/5.5/blade#switch-statements
如果您的laravel版本中没有@switch,则可以随时执行
@php
switch($user_role) {
case 1:
$status = 1;
break;
case 2:
$status = 2;
break;
default:
$status = 5;
}
@endphp