select中的Laravel inline if语句

select中的Laravel inline if语句,laravel,laravel-5,laravel-blade,Laravel,Laravel 5,Laravel Blade,我想知道是否有可能在Laravel的FormSelect元素中添加一个内联if语句 我可以这样做: <select> <option value="1">One</option> <option value="2">Two</option> {!! $variable=='Hello'?'<option value="3">Three</option>':'' !!} </select> 我认为您需

我想知道是否有可能在Laravel的FormSelect元素中添加一个内联if语句

我可以这样做:

<select>
<option value="1">One</option>
<option value="2">Two</option>
{!! $variable=='Hello'?'<option value="3">Three</option>':'' !!}
</select>

我认为您需要首先填充数组并使用if语句,然后将数组传递给表单:select

<?php
$selectOptions = array();
$selectOptions[1] = 'one';
$selectOptions[2] = 'two';
if($variable == "Hello") {
    $selectOptions[3] = 'three';
}

?>

{!! Form::select('action',$selectOptions,null,['class'=>'form-control']) !!}



{!!Form::select('action',$selectOptions,null,['class'=>'Form-control'])

有一种干净的方法, 在帮助器php文件中注册函数 例如,它将被称为选项

function  options($variable)
{
$options = [];
$options[1] = "One";
$options[2] = "Two";
$options[3] = $variable=='Hello'?3:4;
return $options
};
在你的表格中,用这种方式设置你的选择

{!! Form::select('action',options($variable),null,['class'=>'form-control']) !!}

这是可能的,但是为什么要把表格放在刀刃上呢?把它放在你的控制器里,然后发送给你的刀片。我已经这样做了,但是我很好奇它是否能在一条线上完成所有的工作
{!! Form::select('action',options($variable),null,['class'=>'form-control']) !!}