2

loaded()对 Kohana ORM 的功能有疑问。我正在加载一条记录,并且该记录肯定已加载,因为我可以访问它的属性。但是,该loaded()函数返回false. 下面是我正在使用的代码:

$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 是正确的用户编号,这表明该记录实际上已加载。有谁知道可能导致此问题的原因?

4

2 回答 2

3

在深入研究了 Kohana 源代码后,我发现该$loaded_属性没有设置,因为我的模型uuid改为id用作主键。所以我将它设置在模型中protected $_primary_key = 'uuid',现在它正在工作。

这似乎是 Kohana 中的一个错误,因为主键与此查询无关。此外,模型确实已加载,因此loaded()返回似乎很奇怪false

于 2012-04-02T14:41:02.317 回答
0

第一个怎么样:

echo Debug::vars($this->request->query('session'), $session);
于 2012-03-26T06:08:58.363 回答