EC-CUBEを使い、以下のことを実現しようとしています。
ユーザ名が店舗名と同一であり、さらに店舗名ごとにカテゴリが分かれている。各店舗には販売しているジャンルごとに親カテゴリを持っている。
例
食器
・店舗A
・店舗B
家具
・店舗A
・店舗C
forでループを回しなんとか該当のカテゴリを取得することはできましたが、これを商品検索、商品登録、受注検索でカテゴリで絞った検索を行わせたい際にカテゴリの部分に表示させるため、複数の親カテゴリを持つ店舗の場合の配列結合の記述法についてご教示いただければ幸いです。
画面表示例
店舗Aの場合
食器
・店舗A
家具
・店舗A
店舗Bの場合
食器
・店舗B
今、以下のようにソースコードを作り子カテゴリとなるログインしている各店舗でそれぞれの店舗名のカテゴリは取得できていることをdumpして確認できております。
これを、forで回していくところまでかけたのですが、結合させる
array_mergeの部分がわかっていません。
array_mergeの使い方は調べたことで多少はわかるのですが、これとループを組み合わせた部分がわからずに詰まってしまっています。
$app = $this->app;
$name = $app['user']->getName();
$em = $app['orm.em'];
$categories = $em->getRepository('\Eccube\Entity\Category')->findBy(array('name'=>$name));
for ($i = 0; $i < count($categories); $i++) {
(ここの部分でarray_mergeするのかと思うのですが…)
}
ご教示いただける方がいましたら、ご教示いただけると幸いです。
よろしくお願いいたします。
追加
例:店舗Bの場合 0 => Category {#1724 ▼ -id: 10 -name: "店舗B" -level: 2 -rank: 6 -create_date: DateTime {#1721 ▶} -update_date: DateTime {#1722 ▶} -del_flg: 0 -CategoryCount: null -CategoryTotalCount: null -ProductCategories: PersistentCollection {#1733 ▶} -Children: PersistentCollection {#1735 ▶} -Parent: Category {#1782 ▶} -Creator: Member {#1374 ▶} }
店舗Aの場合は 店舗Aとして、食器に属している店舗Aと家具に属している店舗Aがあります。 0 => Category {#1735 ▼ -id: 11 -name: "店舗A" -level: 2 -rank: 7 -create_date: DateTime {#1732 ▶} -update_date: DateTime {#1733 ▶} -del_flg: 0 -CategoryCount: null -CategoryTotalCount: null -ProductCategories: PersistentCollection {#1744 ▶} -Children: PersistentCollection {#1746 ▶} -Parent: Category {#1793 ▶} -Creator: Member {#1792 ▶} } 1 => Category {#1789 ▼ -id: 13 -name: "店舗A" -level: 2 -rank: 3 -create_date: DateTime {#1791 ▶} -update_date: DateTime {#1790 ▶} -del_flg: 0 -CategoryCount: null -CategoryTotalCount: null -ProductCategories: PersistentCollection {#1788 ▶} -Children: PersistentCollection {#1786 ▶} -Parent: Category {#1784 ▶} -Creator: Member {#1792 ▶ …2} }
EC-CUBEとして、CategoryのエンティティクラスにgetPathメソッドがあり、ここからそれぞれの子カテゴリに対する親カテゴリを取得できるようなのでそこを使用して親カテゴリは取得する予定なのですが…

