File tree Expand file tree Collapse file tree 2 files changed +12
-6
lines changed
Expand file tree Collapse file tree 2 files changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -296,6 +296,7 @@ private function buildProbeCircle(
296296
297297 $ aliasMembership = $ qb ->generateAlias (CoreQueryBuilder::CIRCLE , CoreQueryBuilder::MEMBERSHIPS );
298298
299+ $ aliasInitiator = null ;
299300 if (is_null ($ initiator )) {
300301 // to get unique result, enforce a limit on level=owner
301302 $ limit = $ qb ->exprLimitInt ('level ' , Member::LEVEL_OWNER , $ aliasMembership );
@@ -305,10 +306,15 @@ private function buildProbeCircle(
305306 $ initiator ->getSingleId (),
306307 $ aliasMembership
307308 );
308- $ qb ->completeProbeWithInitiator (CoreQueryBuilder::CIRCLE , 'single_id ' , $ aliasMembership );
309+ $ aliasInitiator = $ qb ->completeProbeWithInitiator (CoreQueryBuilder::CIRCLE , 'single_id ' , $ aliasMembership );
309310 }
310311
311312 $ qb ->andWhere ($ limit );
313+ if (!is_null ($ aliasInitiator )) {
314+ // ensure initiator is not null (desync memberships/members)
315+ $ qb ->filterNull ('single_id ' , alias: $ aliasInitiator );
316+ }
317+
312318 $ qb ->resetSqlPath ();
313319
314320 return $ qb ;
Original file line number Diff line number Diff line change @@ -1292,15 +1292,15 @@ public function completeProbeWithInitiator(
12921292 string $ alias ,
12931293 string $ field = 'single_id ' ,
12941294 string $ helperAlias = '' ,
1295- ): void {
1295+ ): ? string {
12961296 if ($ this ->getType () !== QueryBuilder::SELECT ) {
1297- return ;
1297+ return null ;
12981298 }
12991299
13001300 try {
13011301 $ aliasInitiator = $ this ->generateAlias ($ alias , self ::INITIATOR );
13021302 } catch (RequestBuilderException $ e ) {
1303- return ;
1303+ return null ;
13041304 }
13051305
13061306 $ helperAlias = ($ helperAlias === '' ) ? $ alias : $ helperAlias ;
@@ -1314,8 +1314,8 @@ public function completeProbeWithInitiator(
13141314 $ expr ->eq ($ aliasInitiator . '. ' . $ field , $ helperAlias . '.inheritance_first ' ),
13151315 )
13161316 );
1317- //
1318- // $this->leftJoinBasedOn($ aliasInitiator) ;
1317+
1318+ return $ aliasInitiator ;
13191319 }
13201320
13211321 /**
You can’t perform that action at this time.
0 commit comments