在编辑表单时,我遇到了用存储在DB中的数据填充表单字段的问题。
当我使用文档中的代码片段时,一切都很好。然而,我需要将一个css类附加到表单字段,并且这不能作为的参数传递
{{ Form::text('email') }}
所以我创建了以下表单::宏
Form::macro('textclass', function($name, $class = null)
{
return '<input type="text" name="'.$name.'" id="'.$name.'" class="'.$class.'"/>';
});
所以我可以在我的观点中使用这个:
{{ Form::textclass('email', 'm-wrap span12') }}
但是,字段中并没有填充模型数据。
你知道怎么解决这个问题吗?
为了参考,如果您想检查Form
生成了什么,可以查找vendor/laravel/framework/src/Illuminate/Html/FormBuilder
。
在FormBuilder
类中,您可以找到输入的方法。文本输入的方法看起来像这个
public function text($name, $value = null, $options = array())
{
return $this->input('text', $name, $value, $options);
}
正如您所看到的,第二个参数是值,第三个参数是选项数组。
所以对于你的表单,它看起来像这个
Form::text('email', null, array('class'=>'m-wrap span12'))