* Field => value to be used in the WHERE.
* @param string $queryData
* Data to be used, dependent on the query type.
- * @param null $additionalWhere
- * @param string $orderBy
+ * @param string|null $additionalWhere
+ * Optional WHERE field.
+ * @param string|null $orderBy
* Optional ORDER BY field.
- *
- * @param null $groupBy
+ * @param string|null $groupBy
+ * Optional GROU{} BY field.
*
* @return CRM_Core_DAO
* objet that holds the results of the query
// invalid field specified. abort.
throw new CRM_Core_Exception("Invalid field '$fieldName' for $daoName");
}
- $fieldNum++;
- $whereConditions[] = "$fieldName = %$fieldNum";
- $fieldType = $fields[$fieldName]['type'];
- $params[$fieldNum] = [$value, CRM_Utils_Type::typeToString($fieldType)];
+ if (CRM_Utils_System::isNull($value)) {
+ $whereConditions[] = "$fieldName IS NULL";
+ }
+ else {
+ $fieldNum++;
+ $whereConditions[] = "$fieldName = %$fieldNum";
+ $fieldType = $fields[$fieldName]['type'];
+ $params[$fieldNum] = [$value, CRM_Utils_Type::typeToString($fieldType)];
+ }
}
}
$where = implode(' AND ', $whereConditions);
}
/**
- * @param $rows
+ * @param array $rows
* @param string $daoName
* @param string $idName
- * @param $returnURL
- * @param null $filter
+ * @param string $returnURL
+ * @param string|null $filter
*/
public static function addOrder(&$rows, $daoName, $idName, $returnURL, $filter = NULL) {
if (empty($rows)) {
}
/**
- * @param $url
+ * @param string $url
*/
public static function fixOrderOutput($url) {
if (empty($_GET['snippet']) || $_GET['snippet'] !== 'json') {