From ed342c307d5a029da50f38cf45f8de77934b0623 Mon Sep 17 00:00:00 2001 From: gwoo Date: Tue, 3 Apr 2007 05:43:31 +0000 Subject: [PATCH] fixing check in magic methods for a value otherwise it will return false adding test to dbosource git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@4746 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/datasources/dbo_source.php | 6 +++--- cake/tests/cases/libs/model/datasources/dbo_source.test.php | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cake/libs/model/datasources/dbo_source.php b/cake/libs/model/datasources/dbo_source.php index 4394b5a85..2112afaac 100644 --- a/cake/libs/model/datasources/dbo_source.php +++ b/cake/libs/model/datasources/dbo_source.php @@ -211,15 +211,15 @@ class DboSource extends DataSource { if (isset($params[2 + $off])) { $order = $params[2 + $off]; } - - if(!isset($params[0])) { + + if(!array_key_exists(0, $params)) { return false; } $c = 0; $query = array(); foreach ($field as $f) { - if (!is_array($params[$c])) { + if (!is_array($params[$c]) && !empty($params[$c])) { $query[$args[2]->name . '.' . $f] = '= ' . $params[$c]; } else { $query[$args[2]->name . '.' . $f] = $params[$c]; diff --git a/cake/tests/cases/libs/model/datasources/dbo_source.test.php b/cake/tests/cases/libs/model/datasources/dbo_source.test.php index cca4443e1..88b220569 100644 --- a/cake/tests/cases/libs/model/datasources/dbo_source.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo_source.test.php @@ -1381,6 +1381,11 @@ class DboSourceTest extends UnitTestCase { $result = $this->db->query('findByFieldName', array('= a'), $this->model); $expected = array('TestModel.field_name' => '= = a'); $this->assertEqual($result, $expected); + + $result = $this->db->query('findByFieldName', array(), $this->model); + $expected = false; + $this->assertEqual($result, $expected); + } function testOrderParsing() {