本文整理匯總了PHP中CRM_Contact_BAO_Query::getQuery方法的典型用法代碼示例。如果您正苦於以下問題:PHP CRM_Contact_BAO_Query::getQuery方法的具體用法?PHP CRM_Contact_BAO_Query::getQuery怎麽用?PHP CRM_Contact_BAO_Query::getQuery使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CRM_Contact_BAO_Query
的用法示例。
在下文中一共展示了CRM_Contact_BAO_Query::getQuery方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testGroupClause
/**
* Test the group contact clause does not contain an OR.
*
* The search should return 3 contacts - 2 households in the smart group of
* Contact Type = Household and one Individual hard-added to it. The
* Household that meets both criteria should be returned once.
*/
public function testGroupClause()
{
$this->householdCreate();
$householdID = $this->householdCreate();
$individualID = $this->individualCreate();
$groupID = $this->smartGroupCreate();
$this->callAPISuccess('GroupContact', 'create', array('group_id' => $groupID, 'contact_id' => $individualID, 'status' => 'Added'));
$this->callAPISuccess('GroupContact', 'create', array('group_id' => $groupID, 'contact_id' => $householdID, 'status' => 'Added'));
// Refresh the cache for test purposes. It would be better to alter to alter the GroupContact add function to add contacts to the cache.
CRM_Contact_BAO_GroupContactCache::remove($groupID, FALSE);
$sql = CRM_Contact_BAO_Query::getQuery(array(array('group', 'IN', array($groupID), 0, 0)), array('contact_id'));
$dao = CRM_Core_DAO::executeQuery($sql);
$this->assertEquals(3, $dao->N);
$this->assertFalse(strstr($sql, ' OR '));
$sql = CRM_Contact_BAO_Query::getQuery(array(array('group', 'IN', array($groupID), 0, 0)), array('contact_id' => 1, 'group' => 1));
$dao = CRM_Core_DAO::executeQuery($sql);
$this->assertEquals(3, $dao->N);
$this->assertFalse(strstr($sql, ' OR '), 'Query does not include or');
while ($dao->fetch()) {
$this->assertTrue($dao->groups == $groupID || $dao->groups == ',' . $groupID, $dao->groups . ' includes ' . $groupID);
}
}