lau*_*ent 2 orm load record kohana kohana-3.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;
}
Run Code Online (Sandbox Code Playgroud)
例如,下面的代码将输出:
NOT LOADED: 5435
Run Code Online (Sandbox Code Playgroud)
5435 是正确的用户编号,这表明该记录实际上已加载。有谁知道可能导致此问题的原因是什么?
在深入研究 Kohana 源代码后,我发现该$loaded_属性未设置,因为我的模型使用uuid主id键。所以我把它设置在模型中protected $_primary_key = 'uuid',现在它可以工作了。
这似乎是 Kohana 中的一个错误,因为主键与此查询无关。此外,模型确实已加载,因此loaded()返回似乎很奇怪false。
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |