Как я могу получить сумму всех результатов оценок по отзывам массива в красноречивом laravel?
Я пробовал так:
PublicController.php
public function products()
{
$products = Product::select('id', 'name', 'slug', 'image', 'new', 'offer', 'featured', 'cash_price', 'special_price')
->where('status', true)
->withCount(['reviews'])
->with(['reviews' => function($query){
$query->select('product_id', 'rating');
$query->sum('rating'); //<-- dont show anything
}])
->get();
return response()->json($products, 200);
}
и мой результат в формате json:
[
{
"id": 1,
"name": "Peggie Rodriguez",
"slug": "peggie-rodriguez",
"image": "https://lorempixel.com/200/200/?43622",
"new": 1,
"offer": 1,
"featured": "Exercitationem eum praesentium soluta placeat. Ut praesentium non dolorem a et libero. Optio corporis est assumenda aut.",
"cash_price": 80464,
"special_price": 10598,
"reviews_count": 3,
"reviews": [
{
"product_id": 1,
"rating": 1
},
{
"product_id": 1,
"rating": 2
},
{
"product_id": 1,
"rating": 5
}
]
},
]
Мой ожидаемый результат - это сумма всех значений рейтинга.