次のMySQLテーブルがあります:
cases
id INT
diagnosis TEXT
description TEXT
LibraryCase
これは、Laravel ではモデルによって表されます。
ユーザーが検索語を入力すると、次を使用して一致するケースが取得されます。
// $user_query is the (escaped and purified) user input
$matches = LibraryCase::where('diagnosis', 'LIKE', $user_query)
->or_where('description', LIKE, $user_query)
->paginate(10);
ケースがあり、説明が「ソニック・ザ・ヘッジホッグ」であるとします。ユーザーが「sonic」または「hedgehog」と入力すると、ケースが返されます。ユーザーが「ソニック ヘッジホッグ」と入力すると、何も返されません。これは理にかなっていますが、$user_query
個々の単語に分割して、それぞれを LibraryCase へのクエリに追加する方法がわかりません。
モグラ塚から山を作っていますか?これは結構行われているようですが…