2012-11-04 38 views
2

如果我嘗試加載Kohana ORM的結果,查詢是正確的,但結果是空的。如果我複製查詢並在phpmyadmin中使用它,我會收到2行。Kohana沒有加載結果行?

這是Kohana的代碼(ORM)

 // DB work 
     $ftps = ORM::factory('ftp'); 

     // if we activate many (we load only ready) 
     if ($this->request->param('mode') == 'activate') { 
      $ftps->where('ready', '=', '1'); 

     // if we activate many (we load only ready) 
     } elseif ($this->request->param('mode') == 'not_ready') { 
      $ftps->where('ready', '=', '0'); 
     } 

     // DB work 
     $ftps->and_where('activated', '=', '0') 
      ->order_by('lastcheck', 'ASC') 
      ->limit(intval($post['number'])) 
      ->find_all(); 

這是在SQL查詢(調試)

SELECT `ftp`.* FROM `ftps` AS `ftp` WHERE `activated` = '0' ORDER BY `lastcheck` ASC LIMIT 100 (1) 

爲什麼Kohana中不能像phpMyAdmin不加載相同的結果?這是同一個查詢。我找不到解決方案。

謝謝您的幫助

+1

你如何檢查它是否返回結果? – Ikke

回答

1

這是我曾經遇到我用Kohana的時候有很多的問題。對你的問題有一個簡單但不是那種直觀的解釋。如果你只是在做什麼......

$ftps->find_all(); 

,然後嘗試使用$ftp爲你的結果集,這是行不通的,因爲find_all()函數只返回的結果集,以及$ftps查詢對象被重置。相反,你需要做的......

$ftps = $ftps->find_all(); 

然後$ftps將包含設定的結果。

希望有幫助!