假设我有两张桌子:
Pages [id,parent_id,content] 评论[id,page_id,content]
当我正在查看某个页面时,我想显示该页面的所有评论以及将该页面作为父页面的页面的评论。
class Comment extends Eloquent
{
protected $table = "comments";
public function page()
{
return $this->belongsTo('Page','page_id','id');
}
}
class Page extends Eloquent
{
protected $table = "pages";
public function comments()
{
return $this->has_many('Comment');
}
}
$comments = new Comment();
$comments= $comments->where('page_id',$id)->with('page')->get();
我需要当前页面的注释,将当前页面作为父页面的页面,我希望页面表格中的所有数据都带有注释,这样我就可以打印出每个注释旁边的page_id / title。
答案 0 :(得分:0)
我还没有对此进行过测试,但是理论上Laravel应该像这样解析嵌套关系:
Page::where('page_id',$id)->with('comments','parent.comments')->get();
假设你有一个父母'页面模型上的关系。
public function parent()
{
return $this->hasOne('Page','parent_id');
}