本月我开始学习laravel,研究API,只需控制器和模型。
我有一些API,比如按名称,类型,区域,评级,评论进行搜索 每个回应这些网址
本地主机:8000 / API /销售商/名称/测试
本地主机:8000 / API /销售商/类型/学生
本地主机:8000 / API /销售商/面积/亚
我在这里面临一个大问题,我有大约10个字段可以单独搜索,但问题是它们可以在一个查询中搜索,如名称和类型,名称和区域,名称类型和区域,名称类型区域和评论。将有许多组合。
我现在在控制器中做了一个不同的方法。但我觉得这种方式很难为每个查询制作不同的方法。
我的问题是,有没有办法简单地合并这些查询,比如有一个相对调用不同方法的方法。 比如Name Type和Area,方法调用Name首先得到一些结果,现在调用结果类型方法,调用它的结果调用Area方法。
现在我的api.php看起来像这样
tmp
和控制器文件是
Route::get('/vendors/name/{name}','VendorsController@ByName');
Route::get('/vendors/type/{type}','VendorsController@ByType');
Route::get('/vendors/area/{area}','VendorsController@ByArea');
Route::get('/vendors/rating/{rating}','VendorsController@ByRating');
Route::get('/vendors/reviews/{reviews}','VendorsController@ByReviews');
Route::get('/vendors/name/{name}/type/{type}','VendorsController@ByNameType');
Route::get('/vendors/name/{name}/area/{area}','VendorsController@ByNameArea');
Route::get('/vendors/type/{type}/area/{area}','VendorsController@ByTypeArea');
Route::get('/vendors/name/{name}/type/{type}/area/{area}','VendorsController@ByNameTypeArea');