2017-07-19 181 views
0

嗨,我是Laravel新手,目前正在使用Laravel 5.2。我正在嘗試創建一個應用程序,其中有帖子和評論,評論有答覆表並具有以下模型。laravel一對多對多關係

Post模型

public function comments() { 
    return $this->hasMany('App\Comment'); 
} 

評價模型

public function posts() { 
    return $this->belongsTo('App\Post'); 
} 

public function replies() { 
    return $this->hasMany('App\Reply'); 
} 

回覆型號

public function comments() { 
    return $this->belongsTo('App\Comment'); 
} 

我想交流什麼hieve:

帖子與回覆,請發表評論

後 - >許多意見 - >許多回復

我能夠用以下

$posts = Post::with('comments')->get(); 

獲得評論,但不知道如何獲得回覆評論

回答

0

你應該可以做

Post::with('comments.replies')->get() 

此外,您應該始終能夠從以下評論獲得回覆:->replies。請注意,如果您沒有急於加載所有回覆,您可能會收到數百個對數據庫的查詢,則每條評論都會發送一個查詢來檢索回覆。如果您檢索上述查詢的所有評論,您將立即檢索所有回覆,並且Laravel會將它們映射到適當的評論。

另外還有一些很好的例子可供您從laravel文檔中閱讀:Eloquent: Relationships - Eager loading