Laravel5雄辩的关系和懒惰的负载

时间:2015-04-18 18:33:45

标签: forms laravel eloquent laravel-5

我的模特中有关系:

public function profile()
{
    return $this->hasOne('App\Models\Profile');
}

并形成:

{!! Form::model($user, ['route' => ['profile.update'], 'method' => 'PATCH']) !!}
 ...
<div class="form_block"><span class="form_label">First Name</span>{!! Form::text('profile[first_name]') !!}</div>
 ...

问题是,默认情况下,关系是以“懒惰”方式获取的,因此我需要手动调用 $ user-&gt; profile-&gt; first_name 作为表单值。 或者在控制器中使用类似的东西:

 $user_id = Auth::user()->id;
 $user = User::with('profile')->find($user_id);

所以也许有些雄辩的人可以选择控制关系上的延迟负载? 没有找到任何关于它的信息。

1 个答案:

答案 0 :(得分:2)

您正在寻找Laravel称之为Lazy Eager Loading的内容。

$userWithProfile = Auth::user()->load('profile');