私はZend Frameworkにかなり慣れていないため、次の問題の例を見つけることなく何日も検索しました:
以下のコードから達成しようとしている結果は、メインのカテゴリの下に一致するサブカテゴリがあり、すべてのメインのカテゴリをループするリストです。
例:
家電(メインカテゴリー)
- 電子レンジ
- ストーブ
エレクトロニクス(メインカテゴリー)
- コンピューター
- 無線
コードは次のとおりです(これも方法がわかりません。私の思考プロセスは、最初の選択からメインカテゴリIDを取得して、ネストされたを実行することでした)foreach()
:foreach()
// Get Categories with Sub Categories
$catid = 0;
$selectmain = $this->dbhInstance->select()
->from(array('a' => 'code_sub_category'),
array('b.id as mainid', 'b.site_category'))
->join(array('b' => 'site_categories'),
'b.id = a.site_category_id')
->group("b.id")
->order("b.site_category");
$selectsub = $this->dbhInstance->select()
->from(array('a' => 'code_sub_category'),
array('a.id as subid', 'a.sub_category', 'a.site_category_id'))
->join(array('b' => 'site_categories'),
'b.id = a.site_category_id')
->where("a.site_category_id = '" . $catid . "'")
->order("a.sub_category");
$fetch = $this->dbhInstance->fetchAll($selectmain);
$fetch2 = $this->dbhInstance->fetchAll($selectsub);
//var_dump($fetch2);
$items = array();
$items2 = array();
foreach ($fetch as $key => $value) {
$catid = $value['id'];
$items = array_merge($items, array($key => $value));
foreach ($fetch2 as $key => $value) {
$items = array_merge($items, array($key => $value));
}
$this->view->getsubcategories = $items;
}
$this->view->getmaincategories = $items;
//End FULL Categories for My Categories