0

CakeDC検索プラグインで検索するための選択ボックスを追加したいと思います。IE:

<select name="field">
    <option value="email">Search By Email</option>
    <option value="first_name">Search By First Name</option>
</select>

現在、私のビューには次のようなものがあります。

echo $this->Form->create('User', array(
    'url' => array_merge(array('action' => 'index'), $this->params['pass'])
));
echo $this->Form->input('email', array('div' => false, 'empty' => true)); 
echo $this->Form->input('first_name', array('div' => false, 'empty' => true)); 

これはこの方法で問題なく機能しますが、複数の入力ボックスを避け、選択ボックスを使用して単純化したいと思います。私はそれを難し​​くすることができました(選択ボックスから値を取得し、それを入力ボックスからの値と組み合わせる)が、それを行う別の方法が必要です...

これが私のユーザーモジュールです:

public $filterArgs = array(
    'email' => array('type' => 'like'),
    'first_name' => array('type' => 'like')
);

そしてこれは私のコントローラーです:

public function index() {   
    $this->Prg->commonProcess();
    $this->paginate['conditions'] = $this->User->parseCriteria($this->passedArgs);
    $this->set('users', $this->paginate());
}
4

1 に答える 1

0

私はあなたが探していると思います

echo $this->Form->input('search', array('div' => false, 'empty' => true)); 

public $filterArgs = array(
    'search' => array('type' => 'like', 'field'=>array('email', 'first_name')),
);

public $presetVars = true;

ただし、2つの入力の「AND」を失ってORを優先します(これはそれほど強力ではありません)。それでよければ、これが方法です。

于 2012-11-19T12:20:21.677 に答える