雄弁にサブクエリを実行する方法を考えていました。これが、実行したいサブクエリと、雄弁なモデル構造で使用しているデータベースを含む要点です。
//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を使用して同じ結果を取得する方法を見逃している可能性があるからです。
前もって感謝します。