mysql - 以原始数据类型从数据库返回值 (Kohana ORM)

标签 mysql kohana kohana-3 kohana-db kohana-3.2

我在数据库表active中有一个列,它应该返回用户是否已确认邮件。它是tinyint(1),如果它设置为0并且我严格针对FALSE运算符进行测试,则不会返回TRUE。我使用 ORM 与数据库通信。

这是在 MySQL 数据库中设置的:
事件的tinyint(1) 是 0

if ($user->active === FALSE) // returns FALSE
if ($user->active === '0') // returns TRUE

我一直在 API 中搜索解决方案,并且在数据库类中已经有tinyint 数据类型。

我是否必须使用 == 而不是 === 或者还有其他我可以做的事情?

最佳答案

为了保持一致,从 3.0 开始,将数据库数据转换为 PHP 等效项已被删除,这意味着你是对的 - 没有严格的比较:)

如果你真的想要它,你可以做的是覆盖 ORM::_load_values()ORM::list_columns() 结合以转换为“正确”的数据类型(也就是说,如果您继续使用 MySQL 驱动程序,因为迁移到 PDO 会破坏一些东西)。

关于mysql - 以原始数据类型从数据库返回值 (Kohana ORM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821087/

相关文章:

php - 使用 Kohana Request 时如何设置 CURL 选项

php - Kohana ORM 更新不工作

mysql - 如何使用sql合并两列?

mysql - 如何在带有 limit 关键字的 sql 查询中使用多个 order by?

mysql - Type not supported - JSON 数据在 MySQL 5.7.8 之前不可用

validation - 使用 [] 对字段进行 Kohana3 验证

php - Kohana 与 CodeIgniter 有何不同?

php - Kohana 3.2 中的 $this->request->param() 和 $this->request->post()

php - Kohana PHP - 具有共享模型的多个应用程序

mysql 访问被拒绝,ssh 数据库主机