在页面上添加表单输入时,我们稍后需要当前发布的数据,好像某些字段与要求不匹配所以我们将它们显示在表单上,以帮助用户不再填写,以及显示来自数据库是否有任何内容。
我使用传统的使用三元的方法:
Input::old('name')?Input::old('name'):$data->name
到表单输入:
{{ Form::text("name", Input::old('name')?Input::old('name'):$data->name, array("id" => "name", "class" => "form-control", "placeholder" => "name")) }}
此$data->name
来自数据库,您已知道Input::old('name')
。
有没有更好的方法来显示不使用这种旧方法的价值? Laravel是否提供了一些关于它的黑客攻击?
答案 0 :(得分:0)
这是表单模型绑定的目的。
// For creating model
public function create()
{
$user = User::newInstance();
return View::make('user.form', compact('user'));
}
// For updating model
public function edit($id)
{
$user = User::find($id);
return View::make('user.form', compact('user'));
}
{{ Form::model($user) }}
{{ Form::text('name') }}
{{ Form::close() }}
这完全符合您的要求 - 使用实际对象数据填充表单,或者如果先前输入了$ _POST数据。