検索スクリプトを作成していて、ユーザーのクエリに基づいて結果を返したいとします。laravelで検索ロジックを書き込む場所
私のルート以下の通りです: -
Route::get('/search/{city}/{searchquery}', '[email protected]');
コントローラ
public function search($city, $query){
strtolower($query);
$commonWords = array('a','able','about','above','abroad'.....);
$cleanQuery = preg_replace('/\b('.implode('|',$commonWords).')\b/','',$query);
$cleanQuery = $s = preg_replace('/[^a-z0-9]+/i', ' ', $cleanQuery);
$queryarray = explode(' ',$cleanQuery);
$queryarray = array_filter($queryarray);
$queryarray = array_slice($queryarray, 0);
//code to match each query word with MySQL fields such as title, description
return $result;
}
私はこのすべてのロジックとコードがコントローラに書き込ますべきではない、と信じています。ロジックを書いてコントローラを使用して結果のみを返すには何が使えますか?
ロジックをapp/modelsに配置して、コントローラ内で 'public function search($ city、$ query);を呼び出すことができます – 4Jean