本文整理汇总了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);
}
}