laravel Form::open 和 Form::model 有什么区别

Mg *_*int 1 php laravel

1. {{Form::model($message,['route' => ['message.update',$message->id]])}}  
2. {{Form::open(['route' => ['message.update',$message->id]])}}
Run Code Online (Sandbox Code Playgroud)

以上两行有什么区别?

$message从控制器回来。我在视图中呈现的输入是

{!!Form::text("text",isset($message) ? $message->title : NULL,["class" => "form-control"])!!}

它适用于以上两个语句。

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

Dhr*_*val 5

Form::open() 正在打开一个表格。

Form::model()是表单模型绑定,用于更新删除操作。当您生成表单元素时,如文本输入,与字段名称匹配的模型值将自动设置为字段值。因此,例如,对于名为 email 的文本输入,用户模型的 email 属性将被设置为值。 来源

例如当你 Form::open()

{!!Form::text("text",isset($message) ? $message->title : NULL,["class" => "form-control"])!!}
Run Code Online (Sandbox Code Playgroud)

如果你绑定表格 Form::model()

{!!Form::text("text",null,["class" => "form-control"])!!}
Run Code Online (Sandbox Code Playgroud)

不需要条件或定义任何像$message->title 它自动设置的变量。