Xpressengine\DynamicField\AbstractType::insert PHP Method

insert() public method

생성된 Dynamic Field 테이블에 데이터 입력
public insert ( array $args ) : void
$args array parameters
return void
    public function insert(array $args)
    {
        $config = $this->config;
        if (isset($args[$config->get('joinColumnName')]) === false) {
            throw new Exceptions\RequiredJoinColumnException();
        }
        $insertParam = [];
        $insertParam['dynamicFieldTargetId'] = $args[$config->get('joinColumnName')];
        foreach ($this->getColumns() as $column) {
            $key = camel_case($config->get('id') . '_' . $column->name);
            if ($config->get('required') && (isset($args[$key]) === false || $args[$key] === '')) {
                throw new Exceptions\RequiredParameterException(['name' => $key]);
            }
            if (isset($args[$key])) {
                $insertParam[$key] = $args[$key];
            }
        }
        if (count($insertParam) > 1) {
            $this->handler->connection()->table($this->handler->getConfigHandler()->getTableName($config))->insert($insertParam);
        }
    }

Usage Example

Beispiel #1
0
 /**
  * @param array $args
  */
 public function insert(array $args)
 {
     $config = $this->config;
     $key = $config->get('dynamicFieldName') . 'Num';
     if (isset($args[$key]) && $args[$key] !== '') {
         // 숫자만 입력 가능 하요~
         if (is_numeric($args[$key]) === false) {
             throw new \Exception();
         }
     }
     parent::insert($args);
 }