1. {{Form::model($message,['route' => ['message.update',$message->id]])}}
2. {{Form::open(['route' => ['message.update',$message->id]])}}
上面这两条线有什么区别?
我从控制器返回$message
。我在视图中呈现的输入是
{!!Form::text("text",isset($message) ? $message->title : NULL,["class" => "form-control"])!!}
它适用于以上两种说法。
- 那么laravel形式绑定的目的是什么
- 我应该如何有效地使用它
Form::open()
正在打开表单。
Form::model()
是Form Model Binding,用于更新-删除操作。当您生成表单元素(如文本输入(时,与字段名称匹配的模型值将自动设置为字段值。因此,例如,对于名为电子邮件的文本输入,用户模型的电子邮件属性将被设置为值。源
Form::open()
的示例
{!!Form::text("text",isset($message) ? $message->title : NULL,["class" => "form-control"])!!}
如果您绑定表单Form::model()
{!!Form::text("text",null,["class" => "form-control"])!!}
不需要条件,也不需要定义它自动设置的CCD_ 7之类的任何变量。
Form::模型绑定允许您将表单与应用程序的模型之一关联,并自动:
a( 匹配以模型字段命名的输入
b( 如果您正在编辑和现有对象,则使用现有模型对象的数据填充表单的字段
c( 用会话数据重新填充表单(例如,如果在对象创建失败后重定向以显示验证错误
语法:{{ Form::model($modelInstance, ['route'=>'your route','method'=>'']) }}
表单::打开,即{{ Form::open(['route'=>'your-route']) }}
允许您打开带有隐藏csrf令牌字段的新表单,并使用会话数据重新填充表单(例如,如果您在对象创建失败后重定向以显示验证错误