2013-06-18 50 views
0

我控制器的foreach不打印查詢結果CakePHP中

 $data= $this->Contact->find('all',array(
     'conditions' => array('Contact.User_id' => $id))); 

    $this->loadModel('Calllog'); 
     foreach($data as $row){ 

     $mobile= $row['Contact']['mobileNo']; 
     $home= $row['Contact']['homeNo']; 
     $work= $row['Contact']['workNo']; 


     $recent=$this->Calllog->find('all', 
      array('order'=>'Calllog.idCallLog DESC', 
       'limit' => 1, 
       'conditions' => array('Calllog.mobileNo' => array($mobile,$work,$home), 
        'Calllog.User_id' => $id 


      ))); 

    debug($recent); 
     $this->set('recent',$recent); 


    } 

在我看來,我有這條線

<?php foreach($recent as $as): ?> <?php echo $as['Calllog']['mobileNo'];?> 

但即使沒有顯示任何沒有任何錯誤

我調試結果,其中我得到一行意味着工作正常 ,我也轉儲SQL查詢,其中查詢運行良好,WH恩我在phpMyAdmin運行此查詢它給我的一排是我想要的..但​​爲什麼它不附和我的視圖頁上的結果

調試結果

 array(
     (int) 0 => array(
     'CallLog' => array(
     'idCallLog =>'3', 
     'mobileNo'=>'12345' 
     'User_id'=>'1' 
     ))) 

和然後經過4線

  array() 
+0

你可以在這裏添加'$ recent'的調試結果(但是從視圖中執行它)? – Nunser

+0

我沒有得到你的問題,但我發佈了我的調試結果 – hellosheikh

+0

@Nunser我編輯了我的問題...請檢查調試結果 – hellosheikh

回答

0

嘗試此

$data= $this->Contact->find('all',array(
     'conditions' => array('Contact.User_id' => $id))); 

$recent = array(); 

$this->loadModel('Calllog'); 
foreach($data as $row){ 

    $mobile= $row['Contact']['mobileNo']; 
    $home= $row['Contact']['homeNo']; 
    $work= $row['Contact']['workNo']; 


    $recent[]=$this->Calllog->find('all', 
      array('order'=>'Calllog.idCallLog DESC', 
       'limit' => 1, 
       'conditions' => array('Calllog.mobileNo' => array($mobile,$work,$home), 
        'Calllog.User_id' => $id 
     ))); 

} 

$this->set('recent',$recent); 
debug($recent); 
+0

讓我知道這是否有用 –