入力がスペースで区切られた文字列で、各単語が異なる列に属するSQL検索文を作成するにはどうすればよいですか?例えばSQL区切り文字付き句
:
検索入力: 2011アウディQ7
年の "2011" を検索し、メイクのための
"アウディ" を検索し、
「Q7」はモデルを検索します
私は私のSQLテーブルのフィルタを作成するために、AJAXを使用していますが、ここで私が働いているコードだが、動作していない:
データベース
|year|make|model|
----------------
|2017|Audi|Q7
----- ---- -----
... | ...| ...
PHP
public function categoryOptions() {
$term = $this->request->input('term');
$options = VehiclesModel::where('year', 'like', '%'.$term.'%')->where('make', 'like', '%'.$term.'%')->where('model', 'like', '%'.$term.'%')->get();
return $options->pluck('id','year','make','model');
}
私は'%'.$term.'%'
に区切り記号を使用する必要があるとは思いますが、その仕方はわかりません。
SQL文を作成して作成する前に、その用語を関連する部分に分割する必要があります。スペースが区切られ、いつも正しい順番になるようにするには、 '$ terms = explode(" "、$ term);を実行し、' $ terms [0] 'と' $ terms [1] '。 – MCMXCII