OK私はここで本当に単純な何かを見逃しているに違いありません。user_idが一致し(簡単!)、「paid」フィールドがNULLまたは0であるテーブルからすべてのレコードを返したいだけです。「paid」フィールドは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を返さないことです。
'または'を使用せずに、1つのストロークでゼロとNULLを返す方法はありますか?
前もって感謝します。