CakePHP模型findFirst方法问题


CakePHP models findFirst method issue

我不太熟悉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(...))) .