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);
}
}