Example #1
0
File: row.php Project: nikis/Go
 /**
  * Type cast loaded data
  * @param array $data
  * @return array
  */
 public function typeData(array $data)
 {
     $fields = $this->table->attrs();
     foreach ($data as $key => $value) {
         if (array_key_exists($key, $fields)) {
             $data[$key] = $this->valueType($key, $fields[$key], $value, true);
         }
     }
     return $data;
 }
Example #2
0
File: table.php Project: nikis/Go
 /**
  * Copy table
  * @param $db
  * @param $name
  * @return Table
  */
 public function copyTable($name, $db = null, $temp = false)
 {
     if (!$temp && !$name) {
         throw new Exception('New table has no name');
     }
     $db = $db ? $db : $this->db();
     $name = $name ? $name : 'temp_' . substr(md5(microtime(true) . rand(1, 9999)), 0, 10);
     $table = new Table();
     $table->connection($this->connection());
     $table->db($db);
     $table->name($name);
     $table->attrs($this->attrs());
     $table->rowClass = $this->rowClass;
     $builder = $table->builder();
     $query = $builder->createTableLike($temp, $this->db(), $this->name());
     $table->connection()->query($query);
     $builder = $this->builder();
     $builder->columns(array('*'));
     $query = $builder->insertSelect($table->db(), $table->name());
     $this->connection()->query($query);
     return $table;
 }