私は商品、属性、カテゴリを持っています。 foreachを使わずにカスタム属性配列を作成したい。私はforeachでそれを行うことができることを知っていますが、私はEloquentクエリでそれをしたいです。Laravel 5.3 Eloquentの関係からカスタムArray(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()':あなたはその正確な形式でそれを必要とする場合
OR次のような結果をマッピングすることができますか? –
いいえそうではありません。私は上記のコードのような配列hirarchyを取得したい。 – Buglinjo
'AttributeOption'については、スキーマで' attribute_options'が表示されませんか? –