1

4 つのフィールドを持つ検索フォームがあります。

  1. 題名
  2. ジャンル -> (検索ジャンルを取得するための別のクエリ)
  3. 評価
  4. 並べ替え -> (すべてのクエリに含まれる)

約 300 行の長さなので、検索機能を最適化しようとしています。私が行ったことは、可能なすべての組み合わせを書き出すことです-クエリに含める必要があるもの。

if ( empty($title) && $genre === 'All' && $rating === '0') {}
if (!empty($title) && $genre === 'All' && $rating === '0') {}

8 つの可能な組み合わせがあり、これを最適化する方法がわかりません。

4

1 に答える 1

3

追加の基準を簡単に追加できる非常に優れたソリューションを見つけたと思います。

あなたのクラス名がわからないので、本のテーブルとモデルの本があると仮定します。

だからここに私がセットアップしたクイックテストテーブルで私のために働いているように見えるものがあります.

$books = new Book;

if(!empty($title))
    $books = $books->where('title','=',$title);

if(!empty($genre))
    $books = $books->where('genre','=',$genre);

if(!empty($rating))
    $books = $books->where('rating','=',$rating);

$books = $books->get();
于 2013-07-19T21:27:35.433 に答える