1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
- class Model_transact extends Lin_Model
- {
- function __construct(){
- parent::__construct();
- $this->load->database();
- $this->table = 'transact';
- $this->load_table('transact');
- }
- public function insert_batch($keys,$arr){
- $values=array_values($arr);
- $sql=$this->multArray2Insert("crowd_".$this->table,$keys,$values);
- $res=$this->db->query($sql);
- return $res;
- }
- /**
- * 多条数据同时转化成插入SQL语句
- * @ CreatBy:
- * @param string $table 表名
- * @$arr_key是表字段名的key:$arr_key=array("field1","field2","field3")
- * @param array $arr是字段值 数组示例 arrat(("a","b","c"), ("bbc","bbb","caaa"),('add',"bppp","cggg"))
- * @return string
- */
- private function multArray2Insert($table, $arr_key, $arr, $split = '`')
- {
- $arrValues = array();
- if (empty($table) || !is_array($arr_key) || !is_array($arr)) {
- return false;
- }
- $sql = "INSERT INTO %s( %s ) values %s ON DUPLICATE KEY UPDATE `updated_at`=".time();
- foreach ($arr as $k => $v) {
- $arrValues[$k] = "'" . implode("','", array_values($v)) . "'";
- }
- $sql = sprintf($sql, $table, "{$split}" . implode("{$split} ,{$split}", $arr_key) . "{$split}", "(" . implode(") , (", array_values($arrValues)) . ")");
- return $sql;
- }
-
- } //end class
|