我想知道如何以雄辩的方式执行子查询。这是包含我要执行的子查询和我正在使用的雄辩模型结构的数据库的要点。
//the query I want to execute
select p.title, c.total
from posts as p,
(select post_id as id, count(*) as total from comments group by post_id) as c
where p.id=c.id
//my table structures
table posts -
id title content
table comments -
id post_id content
//eloquent models
class Post extends Eloquent{
public static $timestamps = false;
public function comments(){
return $this->has_many('Comment', 'post_id');
}
}
class Comment extends Eloquent{
public static $timestamps = false;
public function post(){
return $this->belongs_to('Post', 'post_id');
}
}
基本上我想使用 eloquent 来执行包含子查询的查询。我知道我可以使用 DB::query(); 执行原始查询的方法,或者可以尝试使用连接,但我想坚持雄辩。任何类型的架构建议也受到欢迎,因为我可能会错过一种方法,可以使用 eloquent 来获得相同的结果,而无需使用完全相同的查询。
提前致谢。