/** * @param array $columns */ public function assign(array $columns) { if (null !== ($fillable = $this->mapper->getFillableColumns())) { $columns = array_intersect_key($columns, array_flip($fillable)); } elseif (null !== ($guarded = $this->mapper->getGuardedColumns())) { $columns = array_diff_key($columns, array_flip($guarded)); } foreach ($columns as $name => $value) { $this->setColumn($name, $value); } }