Esempio n. 1
0
 /**
  * @param \Address\Model\Book $address
  * @return null|array
  */
 public function searchAddress(Book $address)
 {
     /* @var $dbSql \Zend\Db\Sql\Sql */
     $dbSql = $this->getServiceLocator()->get('dbSql');
     /* @var $dbAdapter \Zend\Db\Adapter\Adapter */
     $dbAdapter = $this->getServiceLocator()->get('dbAdapter');
     $select = $dbSql->select(array("address" => self::TABLE_NAME));
     if ($address->getCreatedById()) {
         $select->where(array('address.createdById' => $address->getCreatedById()));
     }
     $select->order(array('address.id' => 'DESC'));
     $select->join(array('c' => CityMapper::TABLE_NAME), 'address.cityId = c.id', array('cityName' => 'nativeName'));
     $select->join(array('d' => DistrictMapper::TABLE_NAME), 'address.districtId = d.id', array('districtName' => 'name'));
     $query = $dbSql->buildSqlString($select);
     $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE);
     if ($results->count()) {
         $addresses = array();
         foreach ($results as $result) {
             $address = new Book();
             $row = (array) $result;
             $address->exchangeArray($row);
             $addresses[] = $address;
         }
         return $addresses;
     }
     return null;
 }
 public function indexAction()
 {
     $add = new \Address\Model\Book();
     $addMapper = $this->getServiceLocator()->get('Address\\Model\\BookMapper');
     /* @var $cityMapper \Address\Model\CityMapper */
     $cityMapper = $this->getServiceLocator()->get('Address\\Model\\CityMapper');
     $city = new \Address\Model\City();
     /* @var $districtMapper \Address\Model\DistrictMapper */
     $districtMapper = $this->getServiceLocator()->get('Address\\Model\\DistrictMapper');
     $district = new \Address\Model\District();
     $districts = array();
     if (!!($cityId = $this->getRequest()->getPost()->get('cityId'))) {
         $district->setCityId($cityId);
         $districts = $districtMapper->fetchAll($district);
     }
     /* @var $form \User\Form\Signup */
     $form = $this->getServiceLocator()->get('Address\\Form\\Book');
     $form->setInputFilter($this->getServiceLocator()->get('Address\\Form\\BookFilter'));
     $form->setCities($city->toSelectBoxArray($cityMapper->fetchAll()));
     $form->setDistricts($district->toSelectBoxArray($districts));
     $form->bind($add);
     $viewModel = new ViewModel();
     if ($this->params()->fromQuery('layout') == 'false') {
         $viewModel->setTerminal(true);
     }
     if ($this->getRequest()->isPost()) {
         $form->setData($this->getRequest()->getPost());
         $address = new Book();
         if ($form->isValid()) {
             $address->exchangeArray((array) $this->getRequest()->getPost());
             $address->setCreatedById($this->user()->getUser()->getId());
             $addMapper->saveAddress($address);
             $this->redirect()->toUrl('/profile');
         }
     }
     $viewModel->setVariable('form', $form);
     return $viewModel;
 }