【发布时间】:2016-09-09 07:27:02
【问题描述】:
我正在编写一个搜索脚本,并希望根据用户的查询返回结果。
以下是我的路线:-
Route::get('/search/{city}/{searchquery}', 'SearchController@search');
控制器
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);
标签: laravel model-view-controller laravel-5 controller