2012-03-25 55 views
2

我遇到Kohana ORM的loaded()函數有問題。我正在加載一條記錄,並且由於我可以訪問它的屬性,所以記錄肯定會被加載。但是,loaded()函數返回false。下面是我使用的代碼:Kohana ORM報告記錄在加載時未加載

$sessionUuid = $this->request->query('session');   
$session = ORM::factory('session')->where('uuid', '=', $sessionUuid)->find(); 
if (!$session->loaded()) { 
    echo "NOT LOADED: " . $session->user_id . "\n"; 
    return; 
} 

下面的代碼將輸出示例:

NOT LOADED: 5435 

5435是正確的用戶數,這表明該記錄實際上是在裝。有人知道可能會導致這個問題嗎?

回答

2

經過一番挖掘到Kohana的源代碼,我發現了$loaded_屬性未設置,因爲我的模型中使用uuid,而不是id作爲主鍵。所以我在模型中設置爲protected $_primary_key = 'uuid',現在它正在工作。

這看起來像Kohana中的錯誤,雖然因爲主鍵與此查詢無關。此外,該模型確實加載,所以看起來很奇怪,loaded()返回false

0

怎麼樣1:

echo Debug::vars($this->request->query('session'), $session);