laravel - 如何按关系数量排序
问题描述
我正在尝试创建一个“标签云”,其中列出了在多对多数据透视表模式中具有最多关系的标签。
恐怕我什至不知道要搜索什么才能开始。我将不胜感激任何链接或代码示例,但更喜欢参考,这样我就可以一劳永逸地学习这一点。
我有一个名为公司的表和一个名为类别的表。有一个名为 category_company 的数据透视表,并且正确的关系已设置并且运行良好。
解决方案
简单地使用withCount()
应该可以让你到达那里。
$companies = Company::withCount('categories');
现在您可以像这样访问计数。
foreach ($companies as $company) {
$company->categories_count; // gives out the count for this companies categories.
}
请参阅文档。