public function executeTravaux(sfWebRequest $request) { $filters = array(); $params = $request->getParameter('filters', array()); // remove the filters__identification__bat_suppr foreach ($params as $key => $value) { $parts = explode('filters__identification__', $key); if ($parts[1]) { $filters[$parts[1]] = $value; } //print_r($parts); } // $filters['codesecteur'] = 5; // $filters['codeclasse'] = 13; // $filters['codematge_spv'] = 2; // $filters['codematge_ch'] = 3; // $filters['codematge_co'] = 3; // $filters['codeequipement'] = 10; // $filters['codeperspective'] = 2; // $filters['filters__identification__name'] = "maison"; $query = Doctrine_Query::create()->from('Identification i')->leftJoin('i.Demandes d')->leftJoin('d.Travauxs t')->addWhere('d.indexdemande IS NOT NULL'); $new_query = IdentificationTable::addFilterQuery($filters, $query, 'i'); $this->devices = $new_query->orderBy('i.appelation ASC')->execute(); $this->setDownloadableFile(); }
protected function buildQuery(sfWebRequest $request) { $tableMethod = $this->configuration->getTableMethod(); $this->filterForm = $this->configuration->getFilterForm(array()); $this->filterForm->setTableMethod($tableMethod); $filters = $this->getFilters(); $query = $this->filterForm->buildQuery($filters); $rootAlias = $query->getRootAlias(); if ($request->hasParameter('filters__identification__name')) { $filters['name'] = $request->getParameter('filters__identification__name'); } $new_query = IdentificationTable::addFilterQuery($filters, $query, $rootAlias); $this->addSortQuery($new_query); myUtils::logIt('la requête des bâtiments'); myUtils::logIt($new_query->getSql()); return $new_query; }