Kohana ORM只找到了第一条记录


Kohana ORM finds only a first record?

我在Kohana中使用ORM,我想获得一些id为2的记录,但当我使用时:

$user = ORM::factory('user');
$user->find(2);
echo $user->name;

结果总是给我看users表中第一条记录的值,这有什么问题?

根据代码,find()不需要参数:

https://github.com/kohana/orm/blob/3.2/master/classes/kohana/orm.php#L894

根据文件:

http://kohanaframework.org/3.2/guide/api/ORM#find

而CCD_ 3只是从数据库中加载第一条记录。为了避免这种情况,只需使用:

$user = ORM::factory('user');
$user = $user->where('id', '=', 2)->find();
echo $user->name;

请测试一下,因为我已经很久没有使用Kohana了。

正如@Tadeck所说,find()不需要参数。

尝试在ORM::factory调用中使用id:

$user = ORM::factory('user', 2);

您是否尝试设置ORM对象的主键?

受保护的$_primary_key

http://kohanaframework.org/3.0/guide/api/ORM#find指示find尝试基于主键来定位项目。