У меня есть продукты, атрибуты и категории. Я хочу создать собственный массив атрибутов без использования foreach. Я знаю, что я могу сделать это с помощью foreach, но я хочу сделать это с помощью запроса Eloquent.Laravel 5.3 получить пользовательский массив (объект) от отношений с любовью
Я хочу создать массив (Eloquent вернулся Object), как это:
$attributes = [
'attribute1' => [
'attribute1_property1' => 'attribute1_property1_count_in_all_products',
'attribute1_property2' => 'attribute1_property2_count_in_all_products',
'attribute1_property3' => 'attribute1_property3_count_in_all_products',
],
'attribute2' => [
'attribute2_property1' => 'attribute1_property1_count_in_all_products',
'attribute2_property2' => 'attribute1_property2_count_in_all_products',
'attribute2_property3' => 'attribute1_property3_count_in_all_products',
],
...
]
У меня есть модели Product
, Attribute
, AttributeProperty
.
Product::whereHas('categories', function ($q) use ($catId) {
$q->whereId($catId);
})->with('attributeProperties.attribute')->get();
С выше кодой я получаю список продуктов, и это параметры атрибутов, но я хочу, что параметры атрибутов, сгруппированных по родительскому атрибуту и подсчитывал, сколько продуктов были таким варианта атрибута.
Другими словами, я хочу, чтобы получить все attribute_options
сгруппированы по родителю attribute
и подсчитывали, сколько продукты делают, что attribute_option
есть на этом category
. Заранее спасибо.
вызова 'ToArray()' на коллекции суб? –
Нет. Это не тот случай. Я хочу получить массив hirarchy, как в приведенном выше коде. – Buglinjo
Для 'AttributeOption' я не вижу' attribute_options' в схеме? –