Three easy steps
1) configure function
Add an input for each field you want to include in your filter
$this->widgetSchema['name'] = new sfWidgetFormFilterInput(array('with_empty' => false));
$this->validatorSchema['name'] = new sfValidatorPass(array('required' => false));
2) add a query modification when filtering for that field I've done it for Doctrine. Pay atention to the method name addFIELDColumnQuery.
public function addNameColumnQuery(Doctrine_Query $query, $field, $values)
{
if (is_array($values) && isset($values['text']) && '' != $values['text'])
{
$query->leftJoin('r.Translation t')
// ->andWhere('t.lang = ?', $especify_one_language) // or it will search in all of them
->andWhere('CONCAT(t.name, t.shortname) like ?', '%' . $values['text'] . '%');
}
}
3) Add your searching fields
public function getFields()
{
return parent::getFields() + array('name' => 'Text');
}
From:
http://oldforum.symfony-project.org/index.php/t/24350/
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn