我是PHP和Web框架Phalcon的新手。我已经尝试了很多,但没有找到答案。我尝试使用它的ORM,但不了解如何生成查询。
这是我在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
请使用Phalcon ORM帮助生成查询。感谢您的回复:)
答案 0 :(得分:2)
根据@Juri的回答,我这样做了:
$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();
我不知道它是否正确。但无论如何它对我有用。感谢帮助。附:也许它对某人也有帮助:))
答案 1 :(得分: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();