2012-03-08 8 views
2

は、私は2つのテーブルのKohanaのORMトップユーザー

ユーザーがいると

コメントコメントは、トップのユーザーを取得するためにORMを使用しての方法を考えるしようとすると、ユーザー

との一対一の関係に多くを持っていますコメントの数に基づいて

何か提案がありますか?

答えて

5

あなたのクエリは次のようになります。ORMに翻訳

SELECT users.username, COUNT(comments.id) AS total 
FROM users 
INNER JOIN comments 
ON users.id = comments.user_id 
GROUP BY users.username 
ORDER BY COUNT(comments.id) DESC 

ORM::factory('user') 
    ->select('user.username', array('COUNT("comments.id")', 'total')) 
    ->join('comments', 'INNER') 
    ->on('user.id', '=', 'comments.user_id') 
    ->group_by('user.username') 
    ->order_by('total', 'DESC') 
    ->find_all(); 
+0

あなたは – user1019144

+0

ちょうどチェック素晴らしいです、そんなにそうありがとう、持っている本だけ返すユーザーではありませんコメント?例えば。ユーザーがコメントを持っていない場合、レコードセットの一部にはなりませんか? – Luke