function fill(SelectQuery $selectQuery, EntityQueryBuilder $entityQueryBuilder) { if ($this->lookupProperty) { $this->expression = $entityQueryBuilder->getEntity()->getLogicalSchema()->getIdentifier(); } return parent::fill($selectQuery, $entityQueryBuilder); }
/** * Create a SQLFunction with the expression as the argument * * @param EntityQuery $entityQuery * @return SqlFunction */ protected function getSqlFunction(EntityQueryBuilder $entityQueryBuilder) { return new AliasedSqlValueExpression(new SqlFunction($this->getFunc(), $entityQueryBuilder->subject($this->expression)), $this->alias); }
/** * Converts value expression to be appended to SELECT list * @param EntityQueryBuilder $builder * @return ISqlValueExpression */ protected function getValueExpression(EntityQueryBuilder $builder) { $builder->registerIdentifier($this->alias); return new AliasedSqlValueExpression($builder->subject($this->expression), $this->alias); }
/** * Adds the table field to the SELECT list * * @param string $field * @param SelectQuery $selectQuery * @param EntityQueryBuilder $entityQueryBuilder */ protected function fillPropertyField($field, SelectQuery $selectQuery, EntityQueryBuilder $entityQueryBuilder) { $entityQueryBuilder->registerIdentifier($field); $selectQuery->get(new SqlColumn($field, $entityQueryBuilder->getAlias())); }
/** * @param EntityQueryBuilder $builder * @param OrmProperty $property */ function __construct(EntityQueryBuilder $builder, OrmProperty $property) { $this->owner = $builder->getAlias(); $this->property = $property; Assert::isTrue($property->getType()->getColumnCount() == 1, 'composite property querying is not supported (`%s`.`%s` is ambiguous)', $builder->getEntity()->getLogicalSchema()->getEntityName(), $property->getName()); }