为什么要观看渲染" 1"在选中单选按钮之前

时间:2015-04-28 12:19:44

标签: laravel laravel-5 blade

我使用数据库中的值检查单选按钮,它可以工作,但它已经呈现了#34; 1"就在那个选中的单选按钮之前。如果我删除if语句,那么它就不会显示。

<?php $formUserType = UserType::all(); ?>

@foreach($formUserType as $valUT)
  {{ $varSetRadio = false }}

  @if($user->profile->dic_user_type_id == $valUT->id)
    {{ $varSetRadio = true }}
  @endif

  {!! Form::radio('profile[dic_user_type_id]', $valUT->id, $varSetRadio) !!} {{ $valUT->name }}
  <br />
@endforeach

1 个答案:

答案 0 :(得分:1)

{{ expr }}转换为<?php echo e(expr) ?>

赋值的输出是php中最右边的值,因此($var = 1)等于1(同样true等于1,因为PHP是真的)

执行以下操作:

@foreach($formUserType as $value)
    {!! Form::radio('profile[dic_user_type_id]', $value->id, $user->profile->dic_user_type_id === $value->id) !!}
    {{ $value->name }}
  <br />
@endforeach

此外,你不应该在视图中比较简单的逻辑。

尝试将dic_user_type的比较添加到User模型本身,并将数据传入而不是在控制器/模型之外获取。