我建立了一个博客。在我的博客上,我想获得我的标签,但我想通过更多使用来对它们进行排序。我有一个数据透视表,我根本不知道如何处理它。
我有一个表'tags',一个表'articles'和一个表'article_tag'。
您能告诉我如何使用QueryBuilder执行此类操作吗?
谢谢
答案 0 :(得分:0)
您可以使用JOIN,GROUP BY和COUNT:
$tags = Tags::join('article_tags as at', 'at.tag_id', '=', 'tags.id')
->groupBy('tags.id')
->selectRaw('tags.*, count(*) as article_count')
->orderBy('article_count', 'desc')
->get();