The difference is that with Form::model
you will receive the information of the model that you pass as the first parameter and therefore if Laravel finds a match between the name of the field in the model and in the form, then the form field is "filled" with the value stored in the model. Form::model
also takes the values of the session that have the same names as the fields in the form.
As we can see in the code below, Form::model
calls Form::open
as well:
/**
* Create a new model based form builder.
*
* @param mixed $model
* @param array $options
*
* @return \Illuminate\Support\HtmlString
*/
public function model($model, array $options = [])
{
$this->model = $model;
return $this->open($options);
}