mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-04 22:04:59 +00:00
exports: add condition with distinct alias on join clauses
This commit is contained in:
@@ -48,12 +48,12 @@ final class HouseholdPositionAggregator implements AggregatorInterface, ExportEl
|
||||
$qb->resetDQLPart('from');
|
||||
$qb->from(HouseholdMember::class, 'member');
|
||||
|
||||
if (!in_array('person', $qb->getAllAliases(), true)) {
|
||||
$qb->join('member.person', 'person');
|
||||
if (!in_array('memberperson', $qb->getAllAliases(), true)) {
|
||||
$qb->join('member.person', 'memberperson');
|
||||
}
|
||||
|
||||
if (!in_array('center', $qb->getAllAliases(), true)) {
|
||||
$qb->join('person.center', 'center');
|
||||
if (!in_array('membercenter', $qb->getAllAliases(), true)) {
|
||||
$qb->join('memberperson.center', 'membercenter');
|
||||
}
|
||||
|
||||
$qb->andWhere($qb->expr()->andX(
|
||||
|
@@ -37,8 +37,11 @@ final class MaritalStatusAggregator implements AggregatorInterface
|
||||
|
||||
public function alterQuery(QueryBuilder $qb, $data)
|
||||
{
|
||||
$qb->join('person.maritalStatus', 'ms');
|
||||
$qb->addSelect('ms.id as marital_status_aggregator');
|
||||
if (!in_array('personmarital', $qb->getAllAliases(), true)) {
|
||||
$qb->join('person.maritalStatus', 'personmarital');
|
||||
}
|
||||
|
||||
$qb->addSelect('personmarital.id as marital_status_aggregator');
|
||||
|
||||
$groupBy = $qb->getDQLPart('groupBy');
|
||||
|
||||
|
@@ -38,8 +38,11 @@ final class ActionTypeAggregator implements AggregatorInterface
|
||||
|
||||
public function alterQuery(QueryBuilder $qb, $data)
|
||||
{
|
||||
$qb->join('acpw.socialAction', 'sa');
|
||||
$qb->addSelect('sa.id as action_type_aggregator');
|
||||
if (!in_array('acpwsocialaction', $qb->getAllAliases(), true)) {
|
||||
$qb->join('acpw.socialAction', 'acpwsocialaction');
|
||||
}
|
||||
|
||||
$qb->addSelect('acpwsocialaction.id as action_type_aggregator');
|
||||
|
||||
$groupBy = $qb->getDQLPart('groupBy');
|
||||
|
||||
|
@@ -37,8 +37,11 @@ final class GoalAggregator implements AggregatorInterface
|
||||
|
||||
public function alterQuery(QueryBuilder $qb, $data)
|
||||
{
|
||||
$qb->join('acpw.goals', 'g');
|
||||
$qb->addSelect('g.id as goal_aggregator');
|
||||
if (!in_array('goal', $qb->getAllAliases(), true)) {
|
||||
$qb->join('acpw.goals', 'goal');
|
||||
}
|
||||
|
||||
$qb->addSelect('goal.id as goal_aggregator');
|
||||
|
||||
$groupBy = $qb->getDQLPart('groupBy');
|
||||
|
||||
|
@@ -39,9 +39,11 @@ final class JobAggregator implements AggregatorInterface
|
||||
|
||||
public function alterQuery(QueryBuilder $qb, $data)
|
||||
{
|
||||
$qb->join('acpw.referrers', 'u');
|
||||
if (!in_array('acpwuser', $qb->getAllAliases(), true)) {
|
||||
$qb->join('acpw.referrers', 'acpwuser');
|
||||
}
|
||||
|
||||
$qb->addSelect('IDENTITY(u.userJob) as job_aggregator');
|
||||
$qb->addSelect('IDENTITY(acpwuser.userJob) as job_aggregator');
|
||||
|
||||
$groupBy = $qb->getDQLPart('groupBy');
|
||||
|
||||
|
@@ -39,9 +39,11 @@ final class ReferrerAggregator implements AggregatorInterface
|
||||
|
||||
public function alterQuery(QueryBuilder $qb, $data)
|
||||
{
|
||||
$qb->join('acpw.referrers', 'u');
|
||||
if (!in_array('acpwuser', $qb->getAllAliases(), true)) {
|
||||
$qb->join('acpw.referrers', 'acpwuser');
|
||||
}
|
||||
|
||||
$qb->addSelect('u.id AS referrer_aggregator');
|
||||
$qb->addSelect('acpwuser.id AS referrer_aggregator');
|
||||
|
||||
$groupBy = $qb->getDQLPart('groupBy');
|
||||
|
||||
|
@@ -37,10 +37,19 @@ final class ResultAggregator implements AggregatorInterface
|
||||
|
||||
public function alterQuery(QueryBuilder $qb, $data)
|
||||
{
|
||||
$qb->join('acpw.results', 'res');
|
||||
$qb->join('acpw.goals', 'g');
|
||||
$qb->join('g.results', 'gres');
|
||||
$qb->addSelect('res.id, IDENTITY(g.results) as result_aggregator');
|
||||
if (!in_array('acpwresult', $qb->getAllAliases(), true)) {
|
||||
$qb->join('acpw.results', 'acpwresult');
|
||||
}
|
||||
|
||||
if (!in_array('goal', $qb->getAllAliases(), true)) {
|
||||
$qb->join('acpw.goals', 'goal');
|
||||
}
|
||||
|
||||
if (!in_array('goalresult', $qb->getAllAliases(), true)) {
|
||||
$qb->join('goal.results', 'goalresult');
|
||||
}
|
||||
|
||||
$qb->addSelect('acpwresult.id, IDENTITY(goal.results) as result_aggregator');
|
||||
|
||||
$groupBy = $qb->getDQLPart('groupBy');
|
||||
|
||||
|
@@ -39,9 +39,11 @@ final class ScopeAggregator implements AggregatorInterface
|
||||
|
||||
public function alterQuery(QueryBuilder $qb, $data)
|
||||
{
|
||||
$qb->join('acpw.referrers', 'u');
|
||||
if (!in_array('acpwuser', $qb->getAllAliases(), true)) {
|
||||
$qb->join('acpw.referrers', 'acpwuser');
|
||||
}
|
||||
|
||||
$qb->addSelect('IDENTITY(u.mainScope) as scope_aggregator');
|
||||
$qb->addSelect('IDENTITY(acpwuser.mainScope) as scope_aggregator');
|
||||
|
||||
$groupBy = $qb->getDQLPart('groupBy');
|
||||
|
||||
|
Reference in New Issue
Block a user