/** * Normalize the requirements * * @param FamilyInterface $family * * @return array */ protected function normalizeRequirements(FamilyInterface $family) { $requirements = $this->attributeRequirementRepo->findRequiredAttributesCodesByFamily($family); $required = []; foreach ($requirements as $requirement) { $required[$requirement['channel']][] = $requirement['attribute']; } return $required; }
/** * Normalize the requirements * * @param FamilyInterface $family * * @return array */ protected function normalizeRequirements(FamilyInterface $family) { $requirements = $this->requirementsRepository->findRequiredAttributesCodesByFamily($family); $required = []; usort($requirements, function ($left, $right) { if ($left['channel'] !== $right['channel']) { return $left['channel'] < $right['channel'] ? -1 : 1; } if ($left['attribute'] !== $right['attribute']) { return $left['attribute'] < $right['attribute'] ? -1 : 1; } return 0; }); foreach ($requirements as $requirement) { $required['requirements'][$requirement['channel']][] = $requirement['attribute']; } return $required; }