laravel Form::open和Form::model之间的区别是什么


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"])!!}

它适用于以上两种说法。

  1. 那么laravel形式绑定的目的是什么
  2. 我应该如何有效地使用它

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令牌字段的新表单,并使用会话数据重新填充表单(例如,如果您在对象创建失败后重定向以显示验证错误

最新更新