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

load() публичный Метод

For repeating fields, the load method adds extra joins and selects to the query that fetches the related records from the field and field value tables in the same query as the content fetch.
public load ( Doctrine\DBAL\Query\QueryBuilder $query, Bolt\Storage\Mapping\ClassMetadata $metadata ) : void
$query Doctrine\DBAL\Query\QueryBuilder
$metadata Bolt\Storage\Mapping\ClassMetadata
Результат void
    public function load(QueryBuilder $query, ClassMetadata $metadata)
    {
        $field = $this->mapping['fieldname'];
        $boltname = $metadata->getBoltName();
        $from = $query->getQueryPart('from');
        if (isset($from[0]['alias'])) {
            $alias = $from[0]['alias'];
        } else {
            $alias = $from[0]['table'];
        }
        $dummy = 'f_' . $field;
        $query->addSelect($this->getPlatformGroupConcat($field, $query))->leftJoin($alias, $this->mapping['tables']['field_value'], $dummy, $dummy . ".content_id = {$alias}.id AND " . $dummy . ".contenttype='{$boltname}' AND " . $dummy . ".name = '{$field}'");
    }