Kohana ORM报告加载记录时未加载该记录

Kohana ORM报告加载记录时未加载该记录,orm,load,kohana,record,kohana-3.2,Orm,Load,Kohana,Record,Kohana 3.2,Kohana ORM的load()函数有问题。我正在加载一条记录,该记录肯定已加载,因为我可以访问其属性。但是,load()函数返回false。下面是我正在使用的代码: $sessionUuid = $this->request->query('session'); $session = ORM::factory('session')->where('uuid', '=', $sessionUuid)->find(); if (!$session->

Kohana ORM的
load()
函数有问题。我正在加载一条记录,该记录肯定已加载,因为我可以访问其属性。但是,
load()
函数返回
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是正确的用户编号,这表明记录实际上已加载。有人知道是什么导致了这个问题吗?

第一个呢:

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

在深入研究Kohana源代码之后,我发现没有设置
$loaded\uucode>属性,因为我的模型使用
uuid
而不是
id
作为主键。所以我在模型中将它设置为
protected$\u primary\u key='uuid'
,现在它开始工作了

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