好的,我必须在这里遗漏一些非常简单的东西。我只想从 user_id 匹配的表中返回所有记录(简单!)并且“付费”字段为 NULL 或 0。我的“付费”字段是 TinyInt (1)。
我的 CakePHP 模型代码是:
$workingRecord = $this->find('first',array(
'conditions'=>array(
'Subscription.user_id'=>$userId,
array('not' => array('Subscription.paid' => true)) // Not True, to catch both false or NULL values
)
));
CakePHP 生成的 SQL 是这样的:
SELECT `Subscription`.`id`, `Subscription`.`paid` FROM `subscriptions` AS `Subscription` WHERE `Subscription`.`user_id` = 3 AND NOT (`Subscription`.`paid` = '1') LIMIT 1
常识会说这应该有效。问题是 SQL 将在“付费”列中返回包含 0 的行,但永远不会返回 NULL。
有没有办法在不使用“或”的情况下一次性返回零和空值?
提前致谢。