diff --git a/application/Espo/Core/Formula/Functions/EntityGroup/SumRelatedType.php b/application/Espo/Core/Formula/Functions/EntityGroup/SumRelatedType.php index 235c331e3d..c6fc481328 100644 --- a/application/Espo/Core/Formula/Functions/EntityGroup/SumRelatedType.php +++ b/application/Espo/Core/Formula/Functions/EntityGroup/SumRelatedType.php @@ -137,7 +137,7 @@ class SumRelatedType extends \Espo\Core\Formula\Functions\Base implements ->select(['id']); $queryBuilder->where([ - 'id=s' => $sqQueryBuilder->build()->getRaw(), + 'id=s' => $sqQueryBuilder->build(), ]); } diff --git a/application/Espo/Core/Select/AccessControl/Filters/OnlyOwn.php b/application/Espo/Core/Select/AccessControl/Filters/OnlyOwn.php index 8a3597b67d..4877579087 100644 --- a/application/Espo/Core/Select/AccessControl/Filters/OnlyOwn.php +++ b/application/Espo/Core/Select/AccessControl/Filters/OnlyOwn.php @@ -65,7 +65,7 @@ class OnlyOwn implements Filter ->where(["assignedUsersMiddle.{$key2}" => $this->user->getId()]) ->build(); - $queryBuilder->where(['id=s' => $subQuery->getRaw()]); + $queryBuilder->where(['id=s' => $subQuery]); return; } diff --git a/application/Espo/Core/Select/AccessControl/Filters/OnlyTeam.php b/application/Espo/Core/Select/AccessControl/Filters/OnlyTeam.php index 6e6acbd943..529db5ff15 100644 --- a/application/Espo/Core/Select/AccessControl/Filters/OnlyTeam.php +++ b/application/Espo/Core/Select/AccessControl/Filters/OnlyTeam.php @@ -92,6 +92,6 @@ class OnlyTeam implements Filter ->where(['OR' => $orGroup]) ->build(); - $queryBuilder->where(['id=s' => $subQuery->getRaw()]); + $queryBuilder->where(['id=s' => $subQuery]); } } diff --git a/application/Espo/Core/Select/Where/ItemGeneralConverter.php b/application/Espo/Core/Select/Where/ItemGeneralConverter.php index 2153b02d87..b497f074bf 100644 --- a/application/Espo/Core/Select/Where/ItemGeneralConverter.php +++ b/application/Espo/Core/Select/Where/ItemGeneralConverter.php @@ -1359,7 +1359,7 @@ class ItemGeneralConverter implements ItemConverter ->where([$alias . '.id' => $value]) ->build(); - return ['id=s' => $subQuery->getRaw()]; + return ['id=s' => $subQuery]; } if ($relationType == Entity::BELONGS_TO) { @@ -1485,7 +1485,7 @@ class ItemGeneralConverter implements ItemConverter ]) ->build(); - $whereList[] = ['id=s' => $sq->getRaw()]; + $whereList[] = ['id=s' => $sq]; } return $whereList; @@ -1502,7 +1502,7 @@ class ItemGeneralConverter implements ItemConverter ->where([$link . '.id' => $targetId]) ->build(); - $whereList[] = ['id=s' => $sq->getRaw()]; + $whereList[] = ['id=s' => $sq]; } return $whereList; diff --git a/application/Espo/Modules/Crm/Tools/Opportunity/Report/Util.php b/application/Espo/Modules/Crm/Tools/Opportunity/Report/Util.php index a2bf39aafa..237423e8ad 100644 --- a/application/Espo/Modules/Crm/Tools/Opportunity/Report/Util.php +++ b/application/Espo/Modules/Crm/Tools/Opportunity/Report/Util.php @@ -67,7 +67,7 @@ class Util ->build(); $queryBuilder->where([ - 'id=s' => $subQuery->getRaw(), + 'id=s' => $subQuery, ]); } diff --git a/application/Espo/Tools/Stream/Service.php b/application/Espo/Tools/Stream/Service.php index 4ba7c1d3f0..1ca97926a0 100644 --- a/application/Espo/Tools/Stream/Service.php +++ b/application/Espo/Tools/Stream/Service.php @@ -1236,7 +1236,7 @@ class Service ->getRDBRepository(User::ENTITY_TYPE) ->where([ 'isActive' => true, - 'id=s' => $subQuery->getRaw(), + 'id=s' => $subQuery, ]) ->select(['id', 'type']) ->find(); diff --git a/tests/integration/Espo/Core/Select/SelectBuilderTest.php b/tests/integration/Espo/Core/Select/SelectBuilderTest.php index b38d8c1138..a2c8c69730 100644 --- a/tests/integration/Espo/Core/Select/SelectBuilderTest.php +++ b/tests/integration/Espo/Core/Select/SelectBuilderTest.php @@ -37,6 +37,7 @@ use Espo\Core\{ }; use Espo\Classes\Select\Email\AdditionalAppliers\Main as EmailAdditionalApplier; +use Espo\ORM\Query\Select; class SelectBuilderTest extends \tests\integration\Core\BaseTestCase { @@ -174,7 +175,7 @@ class SelectBuilderTest extends \tests\integration\Core\BaseTestCase ], ], 'whereClause' => [ - 'id=s' => [ + 'id=s' => Select::fromRaw([ 'select' => [ 'id', ], @@ -197,7 +198,7 @@ class SelectBuilderTest extends \tests\integration\Core\BaseTestCase 'assignedUserId' => $userId, ], ], - ], + ]), 'OR' => [ [ 'assignedUserId' => $userId, @@ -243,56 +244,55 @@ class SelectBuilderTest extends \tests\integration\Core\BaseTestCase 'from' => 'Meeting', 'whereClause' => [ - 'id=s' => - [ - 'select' => - [ - 0 => 'id', - ], - 'from' => 'Meeting', - 'leftJoins' => - [ - 0 => - [ - 0 => 'EntityTeam', - 1 => 'entityTeam', - 2 => - [ - 'entityTeam.entityId:' => 'id', - 'entityTeam.entityType' => 'Meeting', - 'entityTeam.deleted' => false, - ], - ], - 1 => - [ - 0 => 'MeetingUser', - 1 => 'usersMiddle', - 2 => - [ - 'usersMiddle.meetingId:' => 'id', - 'usersMiddle.deleted' => false, - ], - ], - ], - 'whereClause' => - [ - 'OR' => - [ - 0 => - [ - 'entityTeam.teamId=' => [], - ], - 1 => - [ - 'usersMiddle.userId=' => $userId, - ], - 2 => - [ - 'assignedUserId=' => $userId, - ], - ], - ], - ], + 'id=s' => Select::fromRaw([ + 'select' => + [ + 0 => 'id', + ], + 'from' => 'Meeting', + 'leftJoins' => + [ + 0 => + [ + 0 => 'EntityTeam', + 1 => 'entityTeam', + 2 => + [ + 'entityTeam.entityId:' => 'id', + 'entityTeam.entityType' => 'Meeting', + 'entityTeam.deleted' => false, + ], + ], + 1 => + [ + 0 => 'MeetingUser', + 1 => 'usersMiddle', + 2 => + [ + 'usersMiddle.meetingId:' => 'id', + 'usersMiddle.deleted' => false, + ], + ], + ], + 'whereClause' => + [ + 'OR' => + [ + 0 => + [ + 'entityTeam.teamId=' => [], + ], + 1 => + [ + 'usersMiddle.userId=' => $userId, + ], + 2 => + [ + 'assignedUserId=' => $userId, + ], + ], + ], + ]), ], ]; @@ -375,7 +375,7 @@ class SelectBuilderTest extends \tests\integration\Core\BaseTestCase 'whereClause' => [ 'id=s' => - [ + Select::fromRaw([ 'select' => [ 0 => 'id', @@ -414,7 +414,7 @@ class SelectBuilderTest extends \tests\integration\Core\BaseTestCase 'emailUser.userId' => $userId, ], ], - ], + ]), ], ];