为了使用数据库中的信息填充表单,我执行以下操作:
@if($parameter_passed_in_the_controller)
<input type="text" value=@($parameter_passed_in_the_controller)></input>
@else
<input type="text" value=""></input>
@endif
虽然这有效,但我想知道是否有其他方法可以用较为陈旧的方式进行,或者这实际上是否是正确的方法。
答案 0 :(得分:2)
我通常做的是
@if($parameter_passed_in_the_controller)
<input type="text" value={{ $parameter_passed_in_the_controller }}></input>
@else
<input type="text" value=""></input>
@endif
答案 1 :(得分:1)
如果给输入的值很大,那么这是正确的方法。
但是如果你传递变量或请求,那么你可以使用另一种方式 -
SELECT *
FROM mytable
WHERE a=X OR (b=Y AND a!=X);
<input type="text" value={{ $parameter_passed_in_the_controller ? 'echo if it is true' : 'echo if it is false' }}></input>
结束if语句,?
结束其他
答案 2 :(得分:1)
如果您正在进行某种CRUD,或者无论如何从数据库中获取模型,您都可以使用“表单模型绑定”。
简短教程here。
如教程中所述,您使用laravelcollective库,然后以这种方式创建表单
{!! Form::model($yourModel, ['action' => 'YourController@yourMethod']) !!}
//here you can create fields like so
<div class="form-group">
{!! Form::label('field_name', 'Field label') !!}
{!! Form::text('field_name', '', ['class' => 'form-control']) !!}
</div>
{!! Form::close() !!}
我喜欢这种方法的方法是,在验证失败等情况下,它还会使用“旧”值填写表单。