0
다음과 같은 Laravel 컬렉션이 데이터베이스 쿼리 (쿼리 작성기, Eloquent가 아닌)의 결과로 가져옵니다.형식 Laravel 컬렉션
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => stdClass Object
(
[product_name] => Product 1
[sub_product_name] => sub_prod_1
)
[1] => stdClass Object
(
[product_name] => Product 1
[sub_product_name] => sub_prod_2
)
[2] => stdClass Object
(
[product_name] => Product 1
[sub_product_name] => sub_prod_3
)
[3] => stdClass Object
(
[product_name] => Product 2
[sub_product_name] => sub_prod_21
)
[4] => stdClass Object
(
[product_name] => Product 2
[sub_product_name] => sub_prod_22
)
[5] => stdClass Object
(
[product_name] => Product 2
[sub_product_name] => sub_prod_23
)
[6] => stdClass Object
(
[product_name] => Product 3
[sub_product_name] => sub_prod_31
)
)
)
이제 다음과 같은 배열을 변형하고 API 응답으로 보내고 싶습니다. 기본적으로 이것은 각 제품에 대한 카운트를 초기화하고 나중에 카운트가 추가됩니다. 이 하나 개 이상의 층을 갖는 경우
Array
(
[Product 1 ] => stdClass Object
(
sub_prod_1 => 0,
sub_prod_2 => 0,
sub_prod_3 => 0
),
[Product 2 ] => stdClass Object
(
sub_prod_21 => 0,
sub_prod_22 => 0,
sub_prod_23 => 0
),
[Product 3 ] => stdClass Object
(
sub_prod_31 => 0,
)
)
그것은 I [0]과 같은 의미도 괜찮 [제품 1]
I이
$productPoints = $productCollection->groupBy(function ($item) {
return $item->product_name;
});
같은 GROUPBY 사용했지만주는되지 원하는 결과. Laravel 수집 방법을 사용하여 어떻게 할 수 있습니까?