diff --git a/lib/Cake/Model/Model.php b/lib/Cake/Model/Model.php index 1f2b1effb..e41eefbb1 100644 --- a/lib/Cake/Model/Model.php +++ b/lib/Cake/Model/Model.php @@ -1653,7 +1653,7 @@ class Model extends CakeObject implements CakeEventListener { * @link http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#model-field */ public function field($name, $conditions = null, $order = null) { - if ($conditions === null && $this->id !== false) { + if ($conditions === null && !in_array($this->id, [false, null], true)) { $conditions = array($this->alias . '.' . $this->primaryKey => $this->id); } diff --git a/lib/Cake/Test/Case/Model/ModelReadTest.php b/lib/Cake/Test/Case/Model/ModelReadTest.php index 48ca338a5..876ac57f2 100644 --- a/lib/Cake/Test/Case/Model/ModelReadTest.php +++ b/lib/Cake/Test/Case/Model/ModelReadTest.php @@ -7041,6 +7041,12 @@ class ModelReadTest extends BaseModelTest { $result = $TestModel->field('COUNT(*)', true); $this->assertEquals(4, $result); + + $TestModel->id = null; + $result = $TestModel->field('user', array( + 'user' => 'mariano' + )); + $this->assertEquals('mariano', $result); } /**