php - Kohana 3.2 ORM 检查单个记录是否存在

标签 php count exists kohana-orm kohana-3.2

我在尝试找出检查特定结果是否包含以下代码的任何记录的最佳方法时遇到了一些麻烦:

 $record = ORM::factory('my_table', $id);

我通常会使用计数器方法,例如 $record->count() 或 $records->exist() 方法,如果发现任何内容,它只会返回 true 或 false。但是 ORM 还没有实现这样的东西。

我知道 kohana ORM 实现了 SPL 可计数接口(interface),因此我可以使用 php count() 函数,但是当只需要一条记录时,这实际上没有用,因为 count() 对于任何不包含数据的模型都会返回 1,例如,如果未找到 ID。

这是我解决这个问题的方法:

try {
 $record = ORM::factory('my_table', $id);

 if($record->id === NULL) {
   throw new Exception('The id: ' . $id . ' was not found, use a valid ID');
 }

}

这个特定的解决方案不是很好,如果我的表不包含 id 字段或者表允许 ID 为空怎么办?

必须有更好的方法来检查模型是否包含任何数据。

有什么想法吗?

最佳答案

try 
{
    $record = ORM::factory('my_table', $id);

    if ( ! $record->loaded()) 
    {
        throw new Exception('The id: ' . $id . ' was not found, use a valid ID');
    }
}

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

关于php - Kohana 3.2 ORM 检查单个记录是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11391565/

相关文章:

javascript - JSON 编码的 PHP 数组到 JAVASCRIPT 变量

Mysql - 排除计数>值但显示所有行

mysql - 如何统计表中的所有 NULL 值?

mysql 在删除其中之一后更新表中的行

object - ES6 过滤对象数组是否存在属性

PHP循环curl请求一个一个

PhpStorm 对 JSON 函数的警告

php - 使用 XHProf 运行 drupal 页面后运行 ID 无效

entity-framework - 检查 Entity Framework 中是否存在对象的最佳方法?

sql-server - SQL Exists 返回的记录多于 IN