Cakephp:在此->;中添加条件;型号->;保存()
我正在处理一个cakephp 2.x。想在我的保存查询中添加一个条件。。例如,我想要实现这个查询Cakephp:在此->;中添加条件;型号->;保存(),cakephp,cakephp-2.0,cakephp-2.1,Cakephp,Cakephp 2.0,Cakephp 2.1,我正在处理一个cakephp 2.x。想在我的保存查询中添加一个条件。。例如,我想要实现这个查询 INSERT INTO 'this' where condition is 'this' 现在我正在这样做 $count = $this->Message->find('count', array( 'conditions' => array('Message.mobileNo' => $mobileNo,
INSERT INTO 'this' where condition is 'this'
现在我正在这样做
$count = $this->Message->find('count', array(
'conditions' => array('Message.mobileNo' => $mobileNo,
'Message.body'=>$body
)));
if($count>0){
echo "already have a message";
}else
{
$this->Message->create();
$this->Message->save($this->request->data);
}
有时我会先检查计数,然后保存到数据库中。。。我可以将条件添加到我的保存中吗,这样我就不必为了完成一项任务而在数据库中查询两次了这不是真正的CakePHP问题,而不是MySQL问题。但是您不能这样做,因为没有条件查询 有两种方法:
我会选择方法2。在您的模型中保存方法之前尝试
,您可以更好地使用以下代码:
$conditions = array('Message.mobileNo' => $mobileNo,
'Message.body'=>$body);
if ($this->Message->hasAny($conditions)){
echo "already have a message";
}
else{
$this->Message->create();
$this->Message->save($this->request->data);
}
为什么不在模型中为此使用自定义验证规则?将更加清洁: