'ON DUPLICATE KEY UPDATE'in cakephp [英] 'ON DUPLICATE KEY UPDATE' in cakephp

查看:190
本文介绍了'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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆