控制器中不需要任何不同的代码来处理此表单。所有(命名的)表单变量都将位于 Input::all() 中。
您传入的模型($user)
Form::model($user, array('route' => array('user.update', $user->id)))
只是你需要的任何记录,如果你涉及多个表,你将不得不做这样的事情
$user = User::where('id',$userID)
           ->leftJoin('users_addresses', 'users_addresses.user_id', '=', 'users.id')
           ->first();
并将此组合模型传递给您的 Form::model()。
如何命名输入完全取决于您,因为您必须编写逻辑来处理表单。但是,在我看来,地址输入是好的,因为您最终会得到一个地址列数组,您可以立即将其传递给UserAddress模型。users_address[street]
<html>
    <head>
        <title></title>
    </head>
    <body>
        {{ Form::model($user, array('route' => array('user.update', $user->id))) }}
            {{ Form::label('first_name', 'First Name:', array('class' => 'address')) }}
            {{ Form::text('first_name') }}
            {{ Form::label('last_name', 'Last Name:', array('class' => 'address')) }}
            {{ Form::text('last_name') }}
            {{ Form::label('email', 'E-Mail Address', array('class' => 'address')) }}
            {{ Form::text('email') }}
            {{ Form::label('address[street1]', 'Address (Street 1)', array('class' => 'address')) }}
            {{ Form::text('address[street1]') }}
            {{ Form::label('address[street2]', 'Address (Street 2)', array('class' => 'address')) }}
            {{ Form::text('address[street2]') }}
            {{ Form::label('ddress[city]', 'City', array('class' => 'address')) }}
            {{ Form::text('address[city]') }}
            {{ Form::label('address[state]', 'State', array('class' => 'address')) }}
            {{ Form::text('address[state]') }}
            {{ Form::label('address[zip]', 'Zip Code', array('class' => 'address')) }}
            {{ Form::text('address[zip]') }}
            {{ Form::submit('Send this form!') }}
        {{ Form::close() }}
    </body>
</html>
如果你在控制器中这样做,你会得到这样的东西:dd( Input::all() )
此结果由 Kint 的 dd(): https://github.com/raveren/kint 提供。真的很有帮助。
如果您的表单只有来自单个模型的字段,则更新方法可能非常简单,如下所示:
public function update($id)
{
    $user = User::find($id);
    if (!$user->update(Input::all())) {
        return Redirect::back()
                ->with('message', 'Something wrong happened while saving your model')
                ->withInput();
    }
    return Redirect::route('user.saved')
                ->with('message', 'User updated.');
}
在稍微复杂一点的形式上,程序员将不得不为他们的控制器添加更多的逻辑,在你的情况下,通过更多的研究,我认为你可以做到这一点:
public function update($id)
{
    $user = User::find($id);
    $inputs = Input::all();
    if (!$user->update($inputs)) {
            $address = new UserAddress($inputs['address']);
        $user->address()->save($address);
        ...
    }
    ...
}