特定のユーザーとそのユーザープロファイルを熱心にロードしたいと思います。私のテーブルとクラスは、それぞれusersとUserと呼ばれます。私のプロファイルテーブルとクラスはuser_profilesとUserProfileです。
これは私が試していることですが、うまくいかないようです
return User::with('user_profiles')->find(1);
また、クラスでリレーションシップメソッドを定義する必要がありますUser
。何かのようなもの:
public function profile()
{
return $this->belongs_to('UserProfile');
}
次に、リレーションシップメソッドの名前を参照します。
User::with('profile')->get()
次のコードは、1つのモデルインスタンスからすべてのプロパティを取得するのに役立つことがわかりました。
User::with('posts')->get()->find(1);
そのような配列を返します
id: 1,
name: 'john',
posts: [
{
id: 1,
title: 'something',
}
]
追加した:
->get()
DBからすべてのデータを取得するため、これは遅くなります。
それで
User::with('posts')->find(1)