質問

事前検索を作成したい、次のようなもの:

  • テキストボックス:検索
  • ドロップダウン:検索:名前、場所、または電話
  • ドロップダウン:ASCまたはDECによる注文
  • ドロップダウン:名前、場所、または電話で並べ替えます
  • ドロップダウン:日付間の検索(選択した場合)

モデルの関数にこれらのパラメーターを追加する適切な方法は何ですか?

私はこの解決策を思いつきました:

class ShopsModel extends Model {

  findBy($find, $searchBy, $order, $sort, $betweenDate) {
   // some MySQL query here...
  }

}

編集: :私は変数について話している - findBy($find, $searchBy, $order, $sort, $betweenDate) - これらすべてのパラメーターが必要ですか、それとも代替ソリューションがありますか?

役に立ちましたか?

解決

あなたの解決策は大丈夫のようです。ただし、デコレーターパターンを使用することもできるため、次のクエリを作成できます。

$shops = new ShopsModel();
$results = $shops->search('name', 'Tadeck')
    ->order_by('name', 'asc')
    ->between_dates('2012-02-01', '2012-03-14')
    ->fetch_all();

他のヒント

あなたが説明していることは、KnockoutjsやBackbonejsのようなJavaScriptライブラリと組み合わせて行われるべきだと思います。

Nettutsはknockoutjsをカバーしており、デモはこちらから入手できます。 http://nettuts.s3.amazonaws.com/1034_ko/demo/index.html

YIIのようなパターンを使用している場合は、このようなチュートリアルをグーグルで検索できます http://aiao.be/2012/01/29/knockout-js-with-theyi--framework-hello-world-example/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top