drop alias usage

This commit is contained in:
Yuri Kuznetsov
2025-10-06 10:42:55 +03:00
parent 70c28d9a78
commit 2e59cd4653
22 changed files with 83 additions and 81 deletions
@@ -29,7 +29,7 @@
namespace Espo\Core\Select\AccessControl;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
/**
* An access filter.
@@ -42,5 +42,5 @@ use Espo\ORM\Query\SelectBuilder as QueryBuilder;
*/
interface Filter
{
public function apply(QueryBuilder $queryBuilder): void;
public function apply(SelectBuilder $queryBuilder): void;
}
@@ -30,10 +30,10 @@
namespace Espo\Core\Select\AccessControl\Filters;
use Espo\Core\Select\AccessControl\Filter;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
class Mandatory implements Filter
{
public function apply(QueryBuilder $queryBuilder): void
public function apply(SelectBuilder $queryBuilder): void
{}
}
@@ -31,11 +31,11 @@ namespace Espo\Core\Select\AccessControl\Filters;
use Espo\Core\Select\AccessControl\Filter;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
class No implements Filter
{
public function apply(QueryBuilder $queryBuilder): void
public function apply(SelectBuilder $queryBuilder): void
{
$queryBuilder->where([Attribute::ID => null]);
}
@@ -37,7 +37,7 @@ use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\Part\Where\OrGroup;
use Espo\ORM\Query\Part\WhereClause;
use Espo\ORM\Query\Part\WhereItem;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
class OnlyOwn implements Filter
{
@@ -48,7 +48,7 @@ class OnlyOwn implements Filter
private RelationQueryHelper $relationQueryHelper,
) {}
public function apply(QueryBuilder $queryBuilder): void
public function apply(SelectBuilder $queryBuilder): void
{
$ownItem = $this->getOwnWhereItem();
@@ -67,7 +67,7 @@ class OnlyOwn implements Filter
$queryBuilder->where($ownItem);
}
private function applyCollaborators(QueryBuilder $queryBuilder, ?WhereItem $ownItem): void
private function applyCollaborators(SelectBuilder $queryBuilder, ?WhereItem $ownItem): void
{
$sharedItem = $this->relationQueryHelper->prepareCollaboratorsWhere($this->entityType, $this->user->getId());
@@ -36,7 +36,7 @@ use Espo\Entities\Team;
use Espo\Entities\User;
use Espo\ORM\Defs;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
/**
* @noinspection PhpUnused
@@ -50,7 +50,7 @@ class OnlyTeam implements Filter
private Defs $defs
) {}
public function apply(QueryBuilder $queryBuilder): void
public function apply(SelectBuilder $queryBuilder): void
{
if (!$this->fieldHelper->hasTeamsField()) {
$queryBuilder->where([Attribute::ID => null]);
@@ -58,7 +58,7 @@ class OnlyTeam implements Filter
return;
}
$subQueryBuilder = QueryBuilder::create()
$subQueryBuilder = SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType)
->leftJoin(Team::RELATIONSHIP_ENTITY_TEAM, 'entityTeam', [
@@ -30,10 +30,10 @@
namespace Espo\Core\Select\AccessControl\Filters;
use Espo\Core\Select\AccessControl\Filter;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
class PortalAll implements Filter
{
public function apply(QueryBuilder $queryBuilder): void
public function apply(SelectBuilder $queryBuilder): void
{}
}
@@ -41,7 +41,7 @@ use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\Part\Where\OrGroup;
use Espo\ORM\Query\Part\WhereClause;
use Espo\ORM\Query\Part\WhereItem;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
class PortalOnlyAccount implements Filter
{
@@ -53,7 +53,7 @@ class PortalOnlyAccount implements Filter
private RelationQueryHelper $relationQueryHelper,
) {}
public function apply(QueryBuilder $queryBuilder): void
public function apply(SelectBuilder $queryBuilder): void
{
$orBuilder = OrGroup::createBuilder();
@@ -96,7 +96,7 @@ class PortalOnlyAccount implements Filter
/**
* @param string[] $ids
*/
private function prepareAccountWhere(QueryBuilder $queryBuilder, array $ids): ?WhereItem
private function prepareAccountWhere(SelectBuilder $queryBuilder, array $ids): ?WhereItem
{
$defs = $this->metadataProvider->getAccountLink($this->entityType);
@@ -107,7 +107,7 @@ class PortalOnlyAccount implements Filter
return $this->relationQueryHelper->prepareLinkWhere($defs, Account::ENTITY_TYPE, $ids, $queryBuilder);
}
private function prepareContactWhere(QueryBuilder $queryBuilder, string $id): ?WhereItem
private function prepareContactWhere(SelectBuilder $queryBuilder, string $id): ?WhereItem
{
$defs = $this->metadataProvider->getContactLink($this->entityType);
@@ -40,7 +40,7 @@ use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\Part\Where\OrGroup;
use Espo\ORM\Query\Part\WhereClause;
use Espo\ORM\Query\Part\WhereItem;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
class PortalOnlyContact implements Filter
{
@@ -52,7 +52,7 @@ class PortalOnlyContact implements Filter
private RelationQueryHelper $relationQueryHelper,
) {}
public function apply(QueryBuilder $queryBuilder): void
public function apply(SelectBuilder $queryBuilder): void
{
$orBuilder = OrGroup::createBuilder();
@@ -83,7 +83,7 @@ class PortalOnlyContact implements Filter
$queryBuilder->where($orGroup);
}
private function prepareContactWhere(QueryBuilder $queryBuilder, string $id): ?WhereItem
private function prepareContactWhere(SelectBuilder $queryBuilder, string $id): ?WhereItem
{
$defs = $this->metadataProvider->getContactLink($this->entityType);
@@ -33,14 +33,14 @@ use Espo\Core\Select\AccessControl\Filter;
use Espo\Core\Select\Helpers\FieldHelper;
use Espo\Entities\User;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
class PortalOnlyOwn implements Filter
{
public function __construct(private User $user, private FieldHelper $fieldHelper)
{}
public function apply(QueryBuilder $queryBuilder): void
public function apply(SelectBuilder $queryBuilder): void
{
if ($this->fieldHelper->hasCreatedByField()) {
$queryBuilder->where([
@@ -34,7 +34,7 @@ use Espo\Core\Select\OrmSelectBuilder;
use Espo\Core\Select\SelectManager;
use Espo\Core\Select\Bool\FilterFactory as BoolFilterFactory;
use Espo\ORM\Query\Select;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
use Espo\ORM\Query\Part\Where\OrGroupBuilder;
use Espo\ORM\Query\Part\WhereClause;
@@ -53,7 +53,7 @@ class Applier
* @param string[] $boolFilterNameList
* @throws BadRequest
*/
public function apply(QueryBuilder $queryBuilder, array $boolFilterNameList): void
public function apply(SelectBuilder $queryBuilder, array $boolFilterNameList): void
{
$orGroupBuilder = new OrGroupBuilder();
@@ -80,7 +80,7 @@ class Applier
* @throws BadRequest
*/
private function applyBoolFilter(
QueryBuilder $queryBuilder,
SelectBuilder $queryBuilder,
OrGroupBuilder $orGroupBuilder,
string $filterName
): void {
@@ -110,7 +110,7 @@ class Applier
throw new BadRequest("No bool filter '$filterName' for '$this->entityType'.");
}
private function handleMultiple(Select $queryBefore, QueryBuilder $queryBuilder): void
private function handleMultiple(Select $queryBefore, SelectBuilder $queryBuilder): void
{
$queryAfter = $queryBuilder->build();
+2 -2
View File
@@ -30,12 +30,12 @@
namespace Espo\Core\Select\Bool;
use Espo\ORM\Query\Part\Where\OrGroupBuilder;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
/**
* Applies a bool filter. A where item should be added to OrGroupBuilder.
*/
interface Filter
{
public function apply(QueryBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void;
public function apply(SelectBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void;
}
@@ -35,14 +35,14 @@ use Espo\Entities\User;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\Part\Where\OrGroupBuilder;
use Espo\ORM\Query\Part\WhereClause;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
class Followed implements Filter
{
public function __construct(private string $entityType, private User $user)
{}
public function apply(QueryBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void
public function apply(SelectBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void
{
$alias = 'subscriptionFollowedBoolFilter';
@@ -37,7 +37,7 @@ use Espo\ORM\Defs;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\Where\OrGroupBuilder;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
/**
* @noinspection PhpUnused
@@ -53,7 +53,7 @@ class OnlyMy implements Filter
private Defs $defs
) {}
public function apply(QueryBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void
public function apply(SelectBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void
{
if ($this->user->isPortal()) {
$orGroupBuilder->add(
@@ -75,7 +75,7 @@ class OnlyMy implements Filter
$key1 = $relationDefs->getMidKey();
$key2 = $relationDefs->getForeignMidKey();
$subQuery = QueryBuilder::create()
$subQuery = SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType)
->leftJoin($middleEntityType, 'assignedUsersMiddle', [
@@ -37,7 +37,7 @@ use Espo\ORM\Defs;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\Where\OrGroupBuilder;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
/**
* @noinspection PhpUnused
@@ -53,7 +53,7 @@ class Shared implements Filter
private Defs $defs
) {}
public function apply(QueryBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void
public function apply(SelectBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void
{
if (!$this->fieldHelper->hasCollaboratorsField()) {
return;
@@ -67,7 +67,7 @@ class Shared implements Filter
$key1 = $relationDefs->getMidKey();
$key2 = $relationDefs->getForeignMidKey();
$subQuery = QueryBuilder::create()
$subQuery = SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType)
->leftJoin($middleEntityType, 'collaboratorsMiddle', [
@@ -32,7 +32,7 @@ namespace Espo\Core\Select\Primary;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Select\SelectManager;
use Espo\Core\Select\OrmSelectBuilder;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
use Espo\Entities\User;
class Applier
@@ -47,7 +47,7 @@ class Applier
/**
* @throws BadRequest
*/
public function apply(QueryBuilder $queryBuilder, string $filterName): void
public function apply(SelectBuilder $queryBuilder, string $filterName): void
{
if ($this->primaryFilterFactory->has($this->entityType, $filterName)) {
$filter = $this->primaryFilterFactory->create($this->entityType, $this->user, $filterName);
@@ -29,12 +29,12 @@
namespace Espo\Core\Select\Primary;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
/**
* A primary filter.
*/
interface Filter
{
public function apply(QueryBuilder $queryBuilder): void;
public function apply(SelectBuilder $queryBuilder): void;
}
@@ -35,7 +35,7 @@ use Espo\Core\Utils\FieldUtil;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
class Applier
{
@@ -60,7 +60,7 @@ class Applier
private MetadataProvider $metadataProvider
) {}
public function apply(QueryBuilder $queryBuilder, SearchParams $searchParams): void
public function apply(SelectBuilder $queryBuilder, SearchParams $searchParams): void
{
$attributeList = $this->getSelectAttributeList($searchParams);
@@ -33,7 +33,7 @@ use Espo\Core\Select\Text\FullTextSearch\Data as FullTextSearchData;
use Espo\Core\Select\Text\FullTextSearch\DataComposerFactory as FullTextSearchDataComposerFactory;
use Espo\Core\Select\Text\FullTextSearch\DataComposer\Params as FullTextSearchDataComposerParams;
use Espo\Core\Select\Text\Filter\Data as FilterData;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
use Espo\ORM\Query\Part\Order as OrderExpr;
use Espo\ORM\Query\Part\Expression as Expr;
use Espo\ORM\Query\Part\WhereItem;
@@ -62,8 +62,10 @@ class Applier
private ConfigProvider $config
) {}
/** @noinspection PhpUnusedParameterInspection */
public function apply(QueryBuilder $queryBuilder, string $filter, FilterParams $params): void
/**
* @noinspection PhpUnusedParameterInspection
*/
public function apply(SelectBuilder $queryBuilder, string $filter, FilterParams $params): void
{
$forceFullText = false;
$skipFullText = false;
@@ -97,7 +99,7 @@ class Applier
return $composer->compose($filter, $params);
}
private function processFullTextSearch(QueryBuilder $queryBuilder, FullTextSearchData $data): WhereItem
private function processFullTextSearch(SelectBuilder $queryBuilder, FullTextSearchData $data): WhereItem
{
$expression = $data->getExpression();
@@ -203,7 +205,7 @@ class Applier
->withFullTextSearchWhereItem($fullTextWhere);
}
private function applyFilter(QueryBuilder $queryBuilder, FilterData $filterData): void
private function applyFilter(SelectBuilder $queryBuilder, FilterData $filterData): void
{
$filterObj = $this->filterFactory->create($this->entityType, $this->user);
@@ -32,7 +32,7 @@ namespace Espo\Core\Select\Text;
use Espo\Core\ORM\Type\FieldType;
use Espo\Core\Select\Text\Filter\Data;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
use Espo\ORM\Query\Part\Where\OrGroup;
use Espo\ORM\Query\Part\Where\OrGroupBuilder;
use Espo\ORM\Query\Part\Where\Comparison as Cmp;
@@ -49,7 +49,7 @@ class DefaultFilter implements Filter
private ConfigProvider $config
) {}
public function apply(QueryBuilder $queryBuilder, Data $data): void
public function apply(SelectBuilder $queryBuilder, Data $data): void
{
$orGroupBuilder = OrGroup::createBuilder();
@@ -78,7 +78,7 @@ class DefaultFilter implements Filter
* @todo AttributeFilterFactory.
*/
private function applyAttribute(
QueryBuilder $queryBuilder,
SelectBuilder $queryBuilder,
OrGroupBuilder $orGroupBuilder,
string $attribute,
Data $data
@@ -147,7 +147,7 @@ class DefaultFilter implements Filter
);
}
private function getAttributeTypeAndApplyJoin(QueryBuilder $queryBuilder, string $attribute): string
private function getAttributeTypeAndApplyJoin(SelectBuilder $queryBuilder, string $attribute): string
{
if (str_contains($attribute, '.')) {
[$link, $foreignField] = explode('.', $attribute);
@@ -37,7 +37,7 @@ use Espo\ORM\Query\Part\Expression as Expr;
use Espo\ORM\Query\Part\Where\Comparison;
use Espo\ORM\Query\Part\WhereClause;
use Espo\ORM\Query\Part\WhereItem;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
use InvalidArgumentException;
use RuntimeException;
@@ -54,7 +54,7 @@ class Converter
/**
* @throws BadRequest
*/
public function convert(QueryBuilder $queryBuilder, Item $item, ?Converter\Params $params = null): WhereItem
public function convert(SelectBuilder $queryBuilder, Item $item, ?Converter\Params $params = null): WhereItem
{
if ($params && $params->useSubQueryIfMany() && $this->hasRelatedMany($queryBuilder, $item)) {
return $this->convertSubQuery($queryBuilder, $item);
@@ -83,7 +83,7 @@ class Converter
return WhereClause::fromRaw($whereClause);
}
private function hasRelatedMany(QueryBuilder $queryBuilder, Item $item): bool
private function hasRelatedMany(SelectBuilder $queryBuilder, Item $item): bool
{
$entityType = $queryBuilder->build()->getFrom();
@@ -119,7 +119,7 @@ class Converter
* @return array<int|string, mixed>
* @throws BadRequest
*/
private function processItem(QueryBuilder $queryBuilder, Item $item): array
private function processItem(SelectBuilder $queryBuilder, Item $item): array
{
return $this->itemConverter->convert($queryBuilder, $item)->getRaw();
}
@@ -127,11 +127,11 @@ class Converter
/**
* @throws BadRequest
*/
private function convertSubQuery(QueryBuilder $queryBuilder, Item $item): Comparison
private function convertSubQuery(SelectBuilder $queryBuilder, Item $item): Comparison
{
$entityType = $queryBuilder->build()->getFrom() ?? throw new RuntimeException();
$subQueryBuilder = QueryBuilder::create()
$subQueryBuilder = SelectBuilder::create()
->from($entityType)
->select(Attribute::ID);
@@ -31,7 +31,7 @@ namespace Espo\Core\Select\Where;
use Espo\Core\Exceptions\BadRequest;
use Espo\ORM\Query\Part\WhereItem as WhereClauseItem;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
/**
* Converts a where item to a where clause item (for ORM).
@@ -41,5 +41,5 @@ interface ItemConverter
/**
* @throws BadRequest
*/
public function convert(QueryBuilder $queryBuilder, Item $item): WhereClauseItem;
public function convert(SelectBuilder $queryBuilder, Item $item): WhereClauseItem;
}
@@ -49,7 +49,7 @@ use Espo\ORM\Query\Part\Join;
use Espo\ORM\Query\Part\WhereClause;
use Espo\ORM\Query\Part\WhereItem as WhereClauseItem;
use Espo\ORM\Query\Select;
use Espo\ORM\Query\SelectBuilder as QueryBuilder;
use Espo\ORM\Query\SelectBuilder;
use Exception;
use RuntimeException;
@@ -75,7 +75,7 @@ class ItemGeneralConverter implements ItemConverter
/**
* @throws BadRequest
*/
public function convert(QueryBuilder $queryBuilder, Item $item): WhereClauseItem
public function convert(SelectBuilder $queryBuilder, Item $item): WhereClauseItem
{
$type = $item->getType();
$value = $item->getValue();
@@ -360,7 +360,7 @@ class ItemGeneralConverter implements ItemConverter
* @return array<string|int, mixed>
* @throws BadRequest
*/
private function groupProcessAndOr(QueryBuilder $queryBuilder, string $type, $value): array
private function groupProcessAndOr(SelectBuilder $queryBuilder, string $type, $value): array
{
if (!is_array($value)) {
throw new BadRequest("Bad where item.");
@@ -396,7 +396,7 @@ class ItemGeneralConverter implements ItemConverter
throw new BadRequest("Bad where item.");
}
$sqQueryBuilder = QueryBuilder::create()
$sqQueryBuilder = SelectBuilder::create()
->from($this->entityType);
$whereItem = Item::fromRaw([
@@ -440,7 +440,7 @@ class ItemGeneralConverter implements ItemConverter
throw new BadRequest("Bad where item 'column'.");
}
$subQueryBuilder = QueryBuilder::create()
$subQueryBuilder = SelectBuilder::create()
->from($this->entityType)
->select(Attribute::ID)
->leftJoin($link);
@@ -480,7 +480,7 @@ class ItemGeneralConverter implements ItemConverter
* @throws BadRequest
*/
private function groupProcessArray(
QueryBuilder $queryBuilder,
SelectBuilder $queryBuilder,
string $type,
string $attribute,
$value
@@ -540,7 +540,7 @@ class ItemGeneralConverter implements ItemConverter
throw new BadRequest("Bad where item. No value.");
}
$subQuery = QueryBuilder::create()
$subQuery = SelectBuilder::create()
->select('entityId')
->from(ArrayValue::ENTITY_TYPE)
->where([
@@ -560,7 +560,7 @@ class ItemGeneralConverter implements ItemConverter
return Cond::not(
Cond::exists(
QueryBuilder::create()
SelectBuilder::create()
->select('entityId')
->from(ArrayValue::ENTITY_TYPE)
->where([
@@ -577,7 +577,7 @@ class ItemGeneralConverter implements ItemConverter
if ($type === Type::ARRAY_IS_EMPTY) {
return Cond::not(
Cond::exists(
QueryBuilder::create()
SelectBuilder::create()
->select('entityId')
->from(ArrayValue::ENTITY_TYPE)
->where([
@@ -591,7 +591,7 @@ class ItemGeneralConverter implements ItemConverter
}
if ($type === Type::ARRAY_IS_NOT_EMPTY) {
$subQuery = QueryBuilder::create()
$subQuery = SelectBuilder::create()
->select('entityId')
->from(ArrayValue::ENTITY_TYPE)
->where([
@@ -616,7 +616,7 @@ class ItemGeneralConverter implements ItemConverter
foreach ($value as $arrayValue) {
$whereList[] = [
$idPart .'=s' => QueryBuilder::create()
$idPart .'=s' => SelectBuilder::create()
->from(ArrayValue::ENTITY_TYPE)
->select('entityId')
->where([
@@ -1361,7 +1361,7 @@ class ItemGeneralConverter implements ItemConverter
// The foreign table is not joined as it would perform much slower.
// Trade off is that if a foreign record is deleted but the middle table
// is not yet deleted, it will give a non-actual result.
$subQuery = QueryBuilder::create()
$subQuery = SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType)
->leftJoin($middleEntityType, $alias, [
@@ -1380,7 +1380,7 @@ class ItemGeneralConverter implements ItemConverter
$relationType == Entity::BELONGS_TO ||
$relationType === Entity::HAS_CHILDREN
) {
$subQuery = QueryBuilder::create()
$subQuery = SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType)
->leftJoin($link, $alias)
@@ -1413,7 +1413,7 @@ class ItemGeneralConverter implements ItemConverter
// The foreign table is not joined as it would perform much slower.
// Trade off is that if a foreign record is deleted but the middle table
// is not yet deleted, it will give a non-actual result.
$subQuery = QueryBuilder::create()
$subQuery = SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType)
->leftJoin($middleEntityType, $alias, [
@@ -1432,7 +1432,7 @@ class ItemGeneralConverter implements ItemConverter
$relationType == Entity::BELONGS_TO ||
$relationType == Entity::HAS_CHILDREN
) {
$subQuery = QueryBuilder::create()
$subQuery = SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType)
->leftJoin($link, $alias)
@@ -1484,7 +1484,7 @@ class ItemGeneralConverter implements ItemConverter
// MariaDB and PostgreSQL perform fast, MySQL slow.
return Cond::in(
Cond::column(Attribute::ID),
QueryBuilder::create()
SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType)
->leftJoin(
@@ -1506,7 +1506,7 @@ class ItemGeneralConverter implements ItemConverter
$relationType == Entity::HAS_MANY ||
$relationType == Entity::HAS_ONE
) {
$subQuery = QueryBuilder::create()
$subQuery = SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType)
->leftJoin($link, $alias)
@@ -1560,7 +1560,7 @@ class ItemGeneralConverter implements ItemConverter
// MariaDB and MySQL perform slow, PostgreSQL fast.
return Cond::not(
Cond::exists(
QueryBuilder::create()
SelectBuilder::create()
->from($this->entityType, 'sq')
->join(
Join::create($link, $alias)
@@ -1584,7 +1584,7 @@ class ItemGeneralConverter implements ItemConverter
) {
return Cond::not(
Cond::exists(
QueryBuilder::create()
SelectBuilder::create()
->select(Attribute::ID)
->from($this->entityType, 'sq')
->join($link, $alias)
@@ -1642,7 +1642,7 @@ class ItemGeneralConverter implements ItemConverter
foreach ($value as $targetId) {
// Only-middle join performs slower on MariaDB.
$sq = QueryBuilder::create()
$sq = SelectBuilder::create()
->from($this->entityType)
->select(Attribute::ID)
->leftJoin($link)
@@ -1661,7 +1661,7 @@ class ItemGeneralConverter implements ItemConverter
$whereList = [];
foreach ($value as $targetId) {
$sq = QueryBuilder::create()
$sq = SelectBuilder::create()
->from($this->entityType)
->select(Attribute::ID)
->leftJoin($link)