There are 2 parameters passed by reference to this function
1) dao - this is not altered
2) params - this IS altered but the calling function (create) does not use it again. While it's
possible a function that calls create uses it again the idea that they would want the params
to have been altered to refer to a different related relationship does not seem probable.
Tests on this are in JobTest & apiv3_MembershipTest
* @throws \CRM_Core_Exception
* @throws \CiviCRM_API3_Exception
*/
- public static function createRelatedMemberships(&$params, &$dao, $reset = FALSE) {
+ public static function createRelatedMemberships($params, $dao, $reset = FALSE) {
// CRM-4213 check for loops, using static variable to record contacts already processed.
if (!isset(\Civi::$statics[__CLASS__]['related_contacts'])) {
\Civi::$statics[__CLASS__]['related_contacts'] = [];