/** * Retrieve DB object based on input parameters. * * It also stores all the retrieved values in the default array. * * @param array $params * (reference ) an assoc array of name/value pairs. * @param array $defaults * (reference ) an assoc array to hold the flattened values. * * @return CRM_Queryrunner_DAO_Query|null * object on success, null otherwise */ public static function retrieve(&$params, &$defaults) { $query = new CRM_Queryrunner_DAO_Query(); $query->copyValues($params); if ($query->find(TRUE)) { CRM_Core_DAO::storeValues($query, $defaults); return $query; } return NULL; }