Fixing issue with integer columns and NULL values.

Fixes #2037
This commit is contained in:
mark_story 2011-09-29 20:28:52 -04:00
parent 11f38687f7
commit a3f25ee5e3
2 changed files with 7 additions and 2 deletions

View file

@ -2443,7 +2443,7 @@ class DboSource extends DataSource {
break;
}
$value = "({$value})";
} elseif ($null) {
} elseif ($null || $value === 'NULL') {
switch ($operator) {
case '=':
$operator = 'IS';

View file

@ -2219,10 +2219,15 @@ class MysqlTest extends CakeTestCase {
$expected = " WHERE `Book`.`id` = 0";
$this->assertEqual($expected, $result);
$result = $this->Dbo->conditions(array("Book.id" => NULL));
$result = $this->Dbo->conditions(array("Book.id" => null));
$expected = " WHERE `Book`.`id` IS NULL";
$this->assertEqual($expected, $result);
$conditions = array('MysqlModel.id' => '');
$result = $this->Dbo->conditions($conditions, true, true, $this->model);
$expected = " WHERE `MysqlModel`.`id` IS NULL";
$this->assertEqual($result, $expected);
$result = $this->Dbo->conditions(array('Listing.beds >=' => 0));
$expected = " WHERE `Listing`.`beds` >= 0";
$this->assertEqual($expected, $result);