我想要一个属于另一个模型的模型。在我的控制器中,我想获取该模型中的所有项目,但我也想要它所属的表中的属性。例如:
class Comment extends Eloquent {
public function post()
{
return $this->belongsTo('Post');
}
}
在我的控制器中,我可以执行以下操作来获取评论数据:
$comments = Comment::first();
但是,这只会给我来自评论表的数据(并且没有来自帖子表的连接数据)。我希望帖子表中每个评论所属行的数据可用作我的评论模型的属性。我知道我还可以执行以下操作来从帖子表中获取数据:
$comments = Comment::first();
这样做的问题是它使用两个数据库查询(#1 获取评论,#2 获取它所属的帖子数据)。有没有办法让我从两个表中获取数据到我的模型中,相当于一个连接语句:
SELECT * FROM comments LEFT JOIN posts ON comments.post_id = posts.id
我知道我在不使用我的 Comment 或 Post 模型的情况下手动构建了一个连接查询,但是我的 Comment 模型中有几种方法,我希望能够将这些方法用于检索到的数据。有谁知道我怎么能做到这一点?