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/
http://www.bkjia.com/PHPjc/324387.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/324387.htmlTechArticleThree easy steps 1) configure function Add an input for each field you want to include in your filter 复制代码 代码如下: $this-widgetSchema['name'] = new sfWidgetFormFilterI...
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn