/** * Возвращает список направления обучения для пересохранения (дилера, студента, и тд.) * @param $brandsMethodist * @param $entityBrands * @param array $formBrands * @return array */ public static function getCalculationResult($brandsMethodist, $entityBrands, array $formBrands) { $brandsAll = \Brands::find(); $data = array(); foreach ($brandsAll as $brand) { $issetInMethodist = EntityService::inEntityRecursive($brandsMethodist, $brand->id, "activity_id"); $issetInEntity = EntityService::inEntityRecursive($entityBrands, $brand->id, "activity_id"); // если бренд отсутствует у методиста и присудствует у entity if (!$issetInMethodist and $issetInEntity) { $data[] = $brand; } } if ($formBrands === array()) { return $data; } $brandsByForm = \Brands::find("id IN (" . implode(",", $formBrands) . ")"); foreach ($brandsByForm as $brandByForm) { $data[] = $brandByForm; } return $data; }