我想为我的模型属性设置一个默认值:
_form.blade.php代码:{!! Form::text('attribute','Default Value') !!}
由于_form.blade.php
和create.blade.php
共享edit.blade.php
,因此两个视图始终显示默认值:Default Value
。
仅为CREATE视图设置默认值的正确方法是什么? 因此,EDIT视图应始终显示已保存模型的值。
这似乎是一个愚蠢的问题,但我很长时间对此感到困惑,我想知道正确的方法。 我有一些想法,例如:
答案 0 :(得分:0)
{!! Form::text('name', (isset($savedModel)) ? $savedModel->name : "your default value") !!}
我没有尝试在Form
facade元素中使用三元组,但它可能有效。
答案 1 :(得分:0)
我相信你想要的是:
<input name="field" value="{{ old('field', isset($model->field) ? $model->field : '') }}"/>
以下是细分:
back()->withErrors()
,则会使用此值。$model->field
。''
)这应涵盖所有情景。
答案 2 :(得分:0)
根据我的经验,通常最好不要在创建/编辑操作之间共享视图。您遇到了许多可以避免的条件逻辑,并且在显示表单错误等时可以获得更清晰的用户体验。
至于显示“创建”视图的默认值,我使用old('attribute', 'Default Value')
辅助方法来实现此目的。