コレクションがあります: ユーザー、組織、電子メール。ユーザーは 1..* メールを持つことができます。それでも、組織は 1..* メールを持つことができます。
テーブルをリンクしない場合 (これが NoSQL の原則です)、これらは私のコレクションです。
ユーザー コレクション:
[{'_id': ObjectId("54feabdae75a4f4168b7acd9"), 'name': 'Henri', 'emails': [{'_id': '54feabdae75a4f4168b7acda'}] }]
組織コレクション:
[{'_id': ObjectId("54feabdae75a4f4168be24a4"), 'name': 'MyOrg.org', 'emails': [{'_id': '54feabdae75a4f4168b7acda'}] }]
メール収集:
[{ "_id" : ObjectId("54feabdae75a4f4168b7acda"), "email" : "henriabc@gmail.com" }]
「ユーザー」モデルと「組織」モデルからの私の関係:
public function emails() {
return $this->embedsMany('App\Email');
}
熱心な読み込みを呼び出します:
public fullUser($id) {
return User::find($id)->with('emails')->get();
}
しかし、ユーザーにメールを (熱心に) ロードするにはどうすればよいでしょうか? 上記の方法では、メールは読み込まれません。