我在数据库表active
中有一个列,它应返回用户是否已确认邮件。它是tinyint(1),如果设置为0,我严格对FALSE运算符测试它不返回TRUE。我使用ORM与数据库进行通信。
这是在MySQL数据库中设置的:
active tinyint(1)是0
if ($user->active === FALSE) // returns FALSE
if ($user->active === '0') // returns TRUE
我一直在API中搜索解决方案,在Database类中已经有了tinyint数据类型。
我是否必须使用==而不是===或者我还能做些什么呢?
答案 0 :(得分:2)
为了保持一致,自3.0以来删除了将数据转换为PHP等价物,这意味着你是对的 - 没有严格的比较:)
如果你真的想要它可以做什么覆盖ORM::_load_values()
和ORM::list_columns()
一起转换为'正确'的数据类型(也就是说 - 如果你继续使用MySQL驱动程序,因为转移到PDO会破坏事情。