我不太熟悉CakePHP。最近我在使用Model时遇到了问题。我需要得到确切一行从数据库,修改一些列值,并保存回来。很简单,对吧?
What do I try do:
$condition = array('some_id_column' => $another_models_id);
$model = $this->MyModel->findFirst($condition);
但我得到FALSE
在$模型变量。同时
$condition = array('some_id_column' => $another_models_id);
$model = $this->MyModel->findAll($condition);
返回数组。它的结构类似于:
array (
0 =>
array (
'MyModel' =>
array (
'id' => '1',
'some_id_column' => '123456',
'some_field' => 'some text',
...
),
),
我会去findAll
,如果它没有返回数组的数组,但模型的数组(在我的情况下-一个模型)。我想实现什么:
$condition = array('some_id_column' => $another_models_id);
$model = $this->MyModel->findFirst($condition);
$model->some_field = 'some another text';
$model->save();
你能帮我了解一下CakePHP
通常是怎么做的吗?我也想听听为什么findAll
找到行,findFirst
没有找到它…这对我来说毫无意义……它们应该以几乎相同的方式工作,并使用相同的数据库api…
如果我不能在CakePHP中做我想做的,你会写收据吗?
没有findFirst
这样的方法。
您可能正在寻找find('first', array('conditions' => array(...)))
.