Skip to content

Commit

Permalink
CRM-21110 Get Total relationships without need for extra table
Browse files Browse the repository at this point in the history
  • Loading branch information
seamuslee001 committed Sep 21, 2017
1 parent 79f8697 commit 118e1df
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions CRM/Contact/BAO/Relationship.php
Original file line number Diff line number Diff line change
Expand Up @@ -1279,25 +1279,23 @@ public static function getRelationship(
}

// building the query string
CRM_Core_DAO::executeQuery("CREATE TEMPORARY TABLE civicrm_contact_relationships " . $select1 . $from1 . $where1 . $select2 . $from2 . $where2);
$queryString = "SELECT * FROM civicrm_contact_relationships " . $order . $limit;
$queryString = $select1 . $from1 . $where1 . $select2 . $from2 . $where2;

$relationship = new CRM_Contact_DAO_Relationship();

$relationship->query($queryString);
$relationship->query($queryString . $order . $limit);
$row = array();
if ($count) {
$relationshipCount = 0;
while ($relationship->fetch()) {
$relationshipCount += $relationship->cnt1 + $relationship->cnt2;
}
CRM_Core_DAO::executeQuery("DROP TEMPORARY TABLE IF EXISTS civicrm_contact_relationships");
return $relationshipCount;
}
else {

if ($includeTotalCount) {
$values['total_relationships'] = CRM_Core_DAO::singleValueQuery("SELECT count(*) FROM civicrm_contact_relationships");
$values['total_relationships'] = CRM_Core_DAO::singleValueQuery("SELECT count(*) FROM ({$queryString}) as r");
}

$mask = NULL;
Expand Down Expand Up @@ -1445,7 +1443,6 @@ public static function getRelationship(
}

$relationship->free();
CRM_Core_DAO::executeQuery("DROP TEMPORARY TABLE IF EXISTS civicrm_contact_relationships");
return $values;
}
}
Expand Down

0 comments on commit 118e1df

Please sign in to comment.