我正在使用cakephp 2.x .want将条件添加到我的保存查询中...例如我想实现此查询
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);
}
有时候我现在首先检查计数然后保存到数据库中...我可以在我的保存中添加条件,所以我不必在数据库中查询两次只是为了完成一项任务
答案 0 :(得分:0)
这不是CakePHP问题而不是MySQL。但是你不能这样做,因为INSERT query没有条件查询。
有两种方法:
我会选择方法2。
答案 1 :(得分:0)
尝试模型中的beforeSave
方法
答案 2 :(得分:0)
您可以更好地使用以下代码:
$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);
}