Three easy steps 1) configure function Add an input for each field you want to include in your filter 复制代码 代码如
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/