getResultDataCollection() as $lps_area) { $loopResultRow = new LoopResultRow($lps_area); $schedule = LpsAreaScheduleQuery::create()->findByIdArea($lps_area->getId()); $deliveryDays = ""; foreach ($schedule as $day) { $deliveryDays .= PlanificationLivraison::getDayLabel($day->getDay()) . ', '; } $deliveryDays = substr($deliveryDays, 0, strlen($deliveryDays)-2); $citiesCount = LpsAreaCityQuery::create()->findByIdArea($lps_area->getId())->count(); $loopResultRow ->set("ID", $lps_area->getId()) ->set("TITLE", $lps_area->getTitle()) ->set("ACTIVE", $lps_area->getActive()) ->set("PRICE", $lps_area->getPrice()) ->set("MINIMUM_AMOUNT", $lps_area->getMinimumAmount()) ->set("DELIVERY_DAYS", $deliveryDays) ->set("COVERED_CITIES_NUMBER", $citiesCount) ; $loopResult->addRow($loopResultRow); } return $loopResult; } /** * @inheritdoc */ protected function getArgDefinitions() { return new ArgumentCollection( Argument::createIntListTypeArgument('id'), Argument::createIntListTypeArgument('active') ); } /** * @inheritdoc */ public function buildModelCriteria() { $area = LpsAreaQuery::create(); /* Filtrage éventuel */ if (null != $id = $this->getId()) { $area->filterById($id); } if (null != $active = $this->getActive()) { $area->filterByActive($active); } return $area->orderByTitle(); } }