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

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

IDs are returned comma-separated which the ->hydrate() method can then turn into pointers to the related entities.
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'];
        $target = $this->mapping['target'];
        $boltname = $metadata->getBoltName();
        $from = $query->getQueryPart('from');
        if (isset($from[0]['alias'])) {
            $alias = $from[0]['alias'];
        } else {
            $alias = $from[0]['table'];
        }
        // Standard relation fetch
        $query->addSelect($this->getPlatformGroupConcat("{$field}.id", '_' . $field . '_id', $query))->addSelect($this->getPlatformGroupConcat("{$field}.to_id", '_' . $field . '_toid', $query))->leftJoin($alias, $target, $field, "{$alias}.id = {$field}.from_id AND {$field}.from_contenttype='{$boltname}' AND {$field}.to_contenttype='{$field}'")->addGroupBy("{$alias}.id");
    }