CakePHP数据库操作

多条插入

CakePHP: Multiple Inserts - Insert multiple rows using single statement.

$multipleRowData = Array(   
 Array('name' => 'Bob', 'phone' => "123-123-7777"),  
 Array('name' => 'Ann', 'phone' => "987-123-5555"),  
 Array('name' => 'Tom', 'phone' => "788-123-4569")  
 );   
 $this->Mymodelname->saveAll($multipleRowData); 

执行任意SQL语句

# MyModel 是任意一个 已加载的model
$res = $this->MyModel->query('select * from mTable');
$arr =  Hash::extract($res, '{n}.my_table_name');
return $arr;

updatAll 更新多条数据

public function updateMyUser($condition, $data){
		foreach ($data as $key => $value) {
			$fields['MyUser.'.$key] = "'$value'";
		}
		foreach ($condition as $key => $value) {
			$conditions['MyUser.'.$key] = $value;
		}
		$r = $this->updateAll($fields,$conditions);
		return $this->getAffectedRows();
	}
$this->modelname->updateAll(array('make'=>"'$new'"), array('modelname.make'=>$old))

动态切换数据源

将下面代码加入到Model要调用的方法里

if( '1'==$this->typeId ){
    $this->setDataSource('myApiServiceDev');
}

posted on 2021-03-02 08:36  aworkstory  阅读(130)  评论(0编辑  收藏  举报

导航