'ON DUPLICATE KEY UPDATE'in cakephp [英] 'ON DUPLICATE KEY UPDATE' in cakephp
本文介绍了'ON DUPLICATE KEY UPDATE'in cakephp的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
INSERT INTO table1
('id','name','cust_id','add')
VALUES('5','RENJITH','5','2012-08- 04 15:07:38')
ON DUPLICATE KEY UPDATE'cust_id'='5'WHERE'table1.id'IN('1','2','3')
让它在cakephp中
//检查键是否重复
$ duplicate = $ this-> find('first',array('conditions'=> array('Model1.id'=> 5)));
if($ duplicate){
$ this-> updateALL(array('Model1.cust_id'=> 5),array('Model1.id'=> array 1,2,3)));
} else {
$ data ['Model1'] = array('Model1.id'= 5,'Model1.name'=>'RENJITH','Model1.cust_id'=> 5 ,'Model1.add'=> strtotime('2012-08-04 15:07:38'));
$ this-> create();
$ this-> save($ data);
}
INSERT INTO table1 ('id','name','cust_id','add') VALUES ('5','RENJITH','5','2012-08-04 15:07:38') ON DUPLICATE KEY UPDATE 'cust_id'='5' WHERE 'table1.id' IN ('1','2','3')
make it in cakephp?
解决方案
something like this should work in Model Class:
//check if key duplikates
$duplicate = $this->find('first', array('conditions' => array('Model1.id' => 5)));
if($duplicate) {
$this->updateALL(array('Model1.cust_id' =>5), array('Model1.id' => array(1,2,3)));
} else {
$data['Model1'] = array('Model1.id' = 5, 'Model1.name' => 'RENJITH','Model1.cust_id' => 5, 'Model1.add' => strtotime('2012-08-04 15:07:38'));
$this->create();
$this->save($data);
}
这篇关于'ON DUPLICATE KEY UPDATE'in cakephp的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文