Exemple #1
0
 /**
  * Копирование неограниченного числа записей в БД через указание массива значений ключевого, либо произвольного поля
  *
  * @param array       $oid   массив значений ключевого
  * @param string|bool $key   название ключевого поля, по умолчанию - название ключевого поля текущей модели
  * @param string|bool $table название таблицы, в которой необходимо произвести копирование, по умолчанию - таблица текущей модели
  *
  * @return boolean результат копирования записей
  */
 public function copy_array(array $oid = array(), $key = false, $table = false)
 {
     $key = $key ? $key : $this->_tbl_key;
     $table = $table ? $table : $this->_tbl;
     $table = $this->_db->get_name_quote($table);
     $query = "SELECT * FROM {$table} WHERE {$key} IN (" . implode(',', $oid) . ')';
     $rows = $this->_db->set_query($query)->load_object_list();
     foreach ($rows as $row) {
         $row->{$key} = null;
         $this->_db->insert_object($this->_tbl, $row, $this->_tbl_key);
     }
     return true;
 }