getResultDataCollection() as $lps_area_cities) { $loopResultRow = new LoopResultRow($lps_area_cities); $loopResultRow ->set("ID", $lps_area_cities->getId()) ->set("ZIPCODE", $lps_area_cities->getZipcode()) ->set("TITLE", $lps_area_cities->getTitle()) ->set("LATITUDE", $lps_area_cities->getLatitude()) ->set("LONGITUDE", $lps_area_cities->getLongitude()) ; $loopResult->addRow($loopResultRow); } return $loopResult; } /** * @inheritdoc */ protected function getArgDefinitions() { return new ArgumentCollection( Argument::createIntListTypeArgument('area_id'), Argument::createEnumListTypeArgument('order', ['title', 'zipcode'], 'title') ); } /** * @inheritdoc */ public function buildModelCriteria() { $area = LpsAreaCityQuery::create(); if (null != $id = $this->getAreaId()) { $area->filterByIdArea($id); } foreach ($this->getOrder() as $order) { switch ($order) { case 'title': $area->orderByTitle(); break; case 'zipcode': $area->orderByZipcode()->orderByTitle(); break; } } return $area; } }