我在思考这个问题时遇到了问题。
我有两个表:
Users
+---------+
| id name |
+---------+
| 1 John |
| 2 Ann |
| 3 Joe |
+---------+
Products
+---------------------+
| id product users_id |
+---------------------+
| 1 Bread 1 |
| 2 Apple 1 |
| 3 Egg 2 |
| 4 Juice 3 |
| 5 Cheese 3 |
| 6 Carrot 3 |
+---------------------+
我想做一个查询来显示一个用户和产品表中提到他的文章数量。像这样:
+----------------------+
| name sum_of_products |
+----------------------+
| Ivan 2 |
| Ann 1 |
| Joe 3 |
+----------------------+
我有工作模型和关系。 我可以像这样只为一个用户做查询
$sum = User::whereId(1)->products()->count();
但我如何才能选择所有用户并在一次查询中获取他们的所有计数?
最佳答案
laravels 访问器功能怎么样?
您的用户模型应如下所示:
namespace App;
class User extends Model
{
protected $appends = array('sum_of_products');
public function getSumOfProductsAttribute() {
return $this->products()->count();
}
}
查看 docu
关于php - Laravel - 显示 Collection 中的项目及其相关表中的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31693123/