ホームページ >バックエンド開発 >PHPチュートリアル >filterchain 管理者ジェネレーター、フィルター、および I18n

filterchain 管理者ジェネレーター、フィルター、および I18n

WBOY
WBOYオリジナル
2016-07-29 08:46:551089ブラウズ

3 つの簡単なステップ
1) 関数を設定します
フィルターに含めたい各フィールドの入力を追加します

复制代码代码如下:


$this->widgetSchema['name'] = new 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() + array('name' =>) ; '文章');
}


出典: http://oldforum.symfony-project.org/index.php/t/24350/

上記では、フィルターチェーン管理ジェネレーター、フィルター、および I18n について説明しました。これには、フィルターチェーンに関する内容が含まれており、PHP 教則に関心のある友人が役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。