orm - Kohana ORM加载时报告记录未加载

标签 orm load kohana record kohana-3.2

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

最佳答案

深入研究 Kohana 源代码后,我发现 $loaded_ 属性未设置,因为我的模型使用 uuid 而不是 id作为主键。因此,我在模型中将其设置为 protected $_primary_key = 'uuid',现在它可以正常工作了。

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

关于orm - Kohana ORM加载时报告记录未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9858429/

相关文章:

php - mustache php gettext()

hibernate - 缓存中未找到查询结果

php - 理解 Laravel 中的 hasOne() 和 belongsTo() 函数

php - 在其他域的另一个页面上加载 PHP 页面的 div

javascript - js文件的加载顺序

php - 在站点之间共享 Kohana 安装

java - Hibernate:没有 id 生成器的缺点?

sql - 在 ORACLE IN 子句中使用元组和元组中一个元素的条件

Android 5.1 加载 64 位共享库失败,因为它的依赖库没有找到,但它确实存在

php - Kohana 数据库异常 [0]