为刀片文件中的变量赋值

时间:2017-12-11 12:58:13

标签: laravel laravel-5 laravel-5.3

我想根据条件为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刀片文件中的变量赋值

2 个答案:

答案 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