Example #1
0
 public function insert(Model $model)
 {
     $insertables = [];
     $columns = [];
     foreach ($model->getColumns() as $column) {
         if (in_array($column, $model->getBlockedFromInsert())) {
             continue;
         }
         if (isset($model->defaults[$column]) && empty($model->{$column})) {
             $model->{$column} = $model->defaults[$column];
         }
         $insertables[$column] = $model->{$column};
         $columns[$column] = $column;
     }
     $query_columns = join(', ', $columns);
     $query_values = ':' . join(', :', $columns);
     $stmt = $this->PDO->prepare('INSERT INTO ' . $model->getTable() . ' (' . $queryColumns . ') VALUES (' . $queryValues . ')');
     foreach ($insertables as $column => $value) {
         $stmt->bindValue(':' . $column, $value);
     }
     return $stmt->execute();
 }