From 0553996b3a6fa7fd399b9c58b99f3c949613c21b Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Wed, 25 Mar 2020 19:57:48 -0400 Subject: [PATCH] APIv4 - bugfix in select query --- Civi/Api4/Event/Subscriber/PostSelectQuerySubscriber.php | 5 ++--- Civi/Api4/Query/Api4SelectQuery.php | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Civi/Api4/Event/Subscriber/PostSelectQuerySubscriber.php b/Civi/Api4/Event/Subscriber/PostSelectQuerySubscriber.php index 84dbca9e79..6419625239 100644 --- a/Civi/Api4/Event/Subscriber/PostSelectQuerySubscriber.php +++ b/Civi/Api4/Event/Subscriber/PostSelectQuerySubscriber.php @@ -110,11 +110,10 @@ class PostSelectQuerySubscriber implements EventSubscriberInterface { * @return array */ private function getNtoManyJoinSelects(Api4SelectQuery $query) { - $fkAliases = $query->getFkSelectAliases(); $joinedDotSelects = array_filter( $query->getSelect(), - function ($select) use ($fkAliases, $query) { - return isset($fkAliases[$select]) && array_filter($query->getPathJoinTypes($select)); + function ($select) use ($query) { + return strpos($select, '.') && array_filter($query->getPathJoinTypes($select)); } ); diff --git a/Civi/Api4/Query/Api4SelectQuery.php b/Civi/Api4/Query/Api4SelectQuery.php index 34d24f563b..8b3eebf0bb 100644 --- a/Civi/Api4/Query/Api4SelectQuery.php +++ b/Civi/Api4/Query/Api4SelectQuery.php @@ -394,7 +394,7 @@ class Api4SelectQuery extends SelectQuery { $col = ($lastLink instanceof CustomGroupJoinable) ? $lastLink->getSqlColumn($field) : $field; // Check Permission on field. if ($this->checkPermissions && !empty($this->apiFieldSpec[$prefix . $field]['permission']) && !\CRM_Core_Permission::check($this->apiFieldSpec[$prefix . $field]['permission'])) { - return; + continue; } $this->fkSelectAliases[$pathString . '.' . $field] = sprintf('%s.%s', $lastLink->getAlias(), $col); } -- 2.25.1