3 つの簡単なステップ
1) 関数を設定します
フィルターに含めたい各フィールドの入力を追加します
复制代码代码如下:
$this->widgetSchema['name'] = 新しい sfWidgetFormFilterInput(array('with_empty' => false));
$this->validatorSchema['name'] = new sfValidatorPass(array('required' => false));
2) そのフィールドをフィルタリングするときにクエリの変更を追加します 私はDoctrineに対してそれを行いました。メソッド名 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) //または、それらすべてを検索します
->andWhere('CONCAT(t.name, t.shortname) like ?', '%' . $values['text'] . '%');
}
}
3) 検索フィールドを追加します
复制代码代码如下:
public function getFields()
{
returnparent::getFields() + 配列('名前' => 'テキスト');
}
出典: http://oldforum.symfony-project.org/index.php/t/24350/
http://www.bkjia.com/PHPjc/324387.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/324387.html技術記事 3 つの簡単なステップ 1) 関数を設定する フィルターに含める各フィールドの入力を追加します。