2014-02-27 5 views
1

하위 항목이있는 목록을 표시하기 위해 jquery 어코디언을 사용하고 있습니다. 카테고리 테이블과 제품 테이블이 있습니다. 나는이 범주와 해당 제품을 목록에 가져오고 싶습니다. 내 컨트롤러에 아래 코드를 추가하십시오. jquery accordian 목록 하위 메뉴 항목이 cakephp의 데이터베이스에있는 값을 표시 할 수 없습니다.

$category=$this->Category->find('list', 
    array('fields'=>array('id','category_name'))); 
    $this->set('category',$category); 

    $productlist=$this->Product->find('list', 
    array('fields'=>array('id','product_name','category_id'))); 
    $this->set('productMenu',$productlist); 

그리고 내 목록에 내가 목록을 추가는
 <ul id="nav"><?php 
    foreach ($category as $key => $value) 
    { 
    ?><li><a href="#"><?php echo $value; ?></a> 
    <ul class="sub"> 
    <?php foreach ($productMenu as $key => $value) 
    { ?> 

    <li><a href="#"><?php echo $value; ?></a> 
<?php } ?> 
     </ul> 
    </li><?php 
    } 
    ?></ul> 

지금 범주 잘 보여주는 값, 그리고 난 논리가 특정 categry에 속하는 제품을 추가 할 수 didont. 아무도 이걸 알면 나 좀 도와 줘. 나는이 결과를 디버깅 할 때 스피 stucking ..

또한 나는 결과를 얻었다

 debug($catgory) 

     array(
(int) 1 => 'Crowns And Bridges Non Metal', 
(int) 2 => 'Crowns And Bridges Metal', 
(int) 3 => 'Implants', 
(int) 4 => 'Dentures' 
      ) 

     debug($product) 

     array(
(int) 1 => array(
    (int) 1 => 'Lava', 
    (int) 2 => 'ZR Crown' 
), 
(int) 2 => array(
    (int) 3 => 'Porcelain fused to metal crowns' 
), 
(int) 3 => array(
    (int) 4 => 'General Restorative', 
    (int) 5 => 'Customised Abutments', 
    (int) 6 => 'Avinent Implants' 
), 
(int) 4 => array(
    (int) 7 => 'Partial Dentures', 
    (int) 8 => 'Complete Dentures:' 
) 

답변

1

당신의 아주 가까운, 중첩 된 배열의 제품 내 말은 동일한 ID와 범주 (에 속하는 가정, 그 제품 4, 5, 6 실제로는 카테고리 3 '임플란트'에 속한다는 내가 jQuery를 일에 필요한 형식에 보이지 않았다 중첩에 올 때 그런

이 작동합니다 :..

<ul id="nav"> 
    <?php 
    foreach ($category as $cat_id => $cat_value) { ?> 
     <li><a href="#"><?php echo $cat_value; ?></a> 
      <ul class="sub"> 
      <?php foreach ($productMenu[$cat_id] as $product_id => $product_value) 
       { 
       ?> 
        <li><a href="#"><?php echo $product_value; ?></a> 
       <?php } // end foreach product ?> 
      </ul> 
     </li> 
    <?php } // end foreach category?> 
</ul> 

이것은 Cake가 모델을 묶어서 할 수있는 약간의 작업입니다. 자세한 내용은 http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html 을보십시오.

+0

답장을 보내 주셔서 감사합니다.이 결과로 확인한 후에는 핑을합니다. – SibinF

+0

고마워요. 이제는 잘 작동하고 .. – SibinF