检查记录的方法是否存在于数据库中,然后如果是CakePHP中的真实返回记录?

use*_*287 5 php mysql cakephp

我是CakePHP的新开发者,我对此案感到困惑:

现在我有一个表用户模型用户,我要检查id = 4的记录是否存在:如果记录存在,则返回它,如果没有返回消息错误,我认为有2种方法:

解决方案1:

$this->Model->id = 4;

if ($this->Model->exists()) {
 return $this->Model->read();
} else {
 return "ERROR";
}
Run Code Online (Sandbox Code Playgroud)

解决方案2:

$data = $this->Model->find('first', array(
 'conditions' => array('Model.id' => 4)
));

if (!empty($data)) {
 return $data;
} else {
 return "ERROR";
}
Run Code Online (Sandbox Code Playgroud)

我不知道什么是更好或更优化(我认为在解决方案1蛋糕将做2个查询,是吗?),请给我答案为最好的解决方案.请为我的英语不好.

Sou*_*ose 0

当然。对于 1 将会有two查询 - 第一个查询将是 a count,第二个查询将是fetch记录。

我更喜欢第二种方法。运行query然后检查empty数据。