2

コレクションがあります: ユーザー、組織、電子メール。ユーザーは 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();
}

しかし、ユーザーにメールを (熱心に) ロードするにはどうすればよいでしょうか? 上記の方法では、メールは読み込まれません。

4

1 に答える 1