2016-12-06 18 views
0

我是PHP和web框架Phalcon的新手。我嘗試了很多,但沒有找到答案。我嘗試使用它的ORM,但不明白如何生成查詢。獲取用戶最大數量的帖子Phalcon

這是我的查詢在SQL:

SELECT username, count(*) maximum FROM user 
    INNER JOIN post ON post.user_id = user.id 
GROUP BY user.id 
ORDER BY maximum DESC 
LIMIT 15 

請幫爾康使用ORM生成的查詢。

$result = User::query() 
    ->columns('username, COUNT(post.id) as maximum') 
    ->innerJoin('Post', 'post.user_id = User.id', 'post') 
    ->groupBy('User.id') 
    ->orderBy('maximum DESC') 
    ->limit(15) 
    ->execute(); 

我不知道這是否是正確的:基於@Juri的答案,我已經做了這樣的感謝任何答覆:)

回答

0
$result = $modelsManager->createBuilder() 
->columns('username,COUNT(post.id) as maximum') 
->from(['user' => '<user class here>']) 
->innerJoin('<post class here>', 'post.userId = user.id', 'post') 
->groupBy('user.id') 
->orderBy('maximum DESC') 
->limit(15) 
->getQuery() 
->execute(); 
+0

對於什麼人減去這個答案?這是正確的。 – Juri

2

。但無論如何它適用於我。感謝幫助。附:也許這對別人也有幫助:))

+1

是的,這是其他解決方案。這可能會更好,因爲你有兩種方法較少。使用任何你喜歡的。只是模特經理更加延伸,並提供更多的能力。 – Juri