Bolt\Storage\Field\Type\RepeaterType::addToInsertQuery PHP Метод

addToInsertQuery() защищенный Метод

Query to insert new field values.
protected addToInsertQuery ( Bolt\Storage\QuerySet $queries, array $changes, $entity )
$queries Bolt\Storage\QuerySet
$changes array
$entity
    protected function addToInsertQuery(QuerySet $queries, $changes, $entity)
    {
        foreach ($changes as $fieldValue) {
            $repo = $this->em->getRepository(get_class($fieldValue));
            $field = $this->getFieldType($fieldValue->getFieldname());
            $type = $field->getStorageType();
            $typeCol = 'value_' . $type->getName();
            $fieldValue->{$typeCol} = $fieldValue->getValue();
            $fieldValue->setFieldtype($this->getFieldTypeName($fieldValue->getFieldname()));
            $fieldValue->setContenttype((string) $entity->getContenttype());
            // This takes care of instances where an entity might be inserted, and thus not
            // have an id. This registers a callback to set the id parameter when available.
            $queries->onResult(function ($query, $result, $id) use($repo, $fieldValue) {
                if ($result === 1 && $id) {
                    $fieldValue->setContent_id($id);
                    $repo->save($fieldValue, $silenceEvents = true);
                }
            });
        }
    }