【问题标题】:Laravel REST API Handle QueriesLaravel REST API 处理查询
【发布时间】:2018-04-01 12:26:08
【问题描述】:

我正在使用 Laravel 5.6 创建 REST API(我不得不说我是新手,因为我可能使用了错误的术语。)

我有这样的get方法,用这个方法我可以得到各方:

http://127.0.0.1:8000/api/parties

但我想得到这样的特定查询:

http://127.0.0.1:8000/api/parties?party_category=club

如何处理我的查询?

class PartiesController extends Controller
{
    public function index() {
      $parties = Parties::all();
       return Fractal::includes('places')->collection($parties,new PartyTransformer);
    }

    public function show(Parties $parties) {
      return Fractal::includes('places')->item($parties,new PartyTransformer);
    }

}

我的路线:

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

Route::post('/register',['as' => 'register', 'uses' => 'RegisterController@index']); 

Route::group(['namespace' => 'Parties', 'prefix' => '/parties', 'middleware' => ['auth:api']], function(){
    Route::get('/',['as' => 'parties', 'uses' => 'PartiesController@index']); 
    Route::put('/',['as' => 'parties.store', 'uses' => 'PartiesController@store']); 
    Route::get('/{parties}',['as' => 'parties.show', 'uses' => 'PartiesController@show']);
    Route::get('/{user}',['as' => 'user.show', 'uses' => 'PlacesController@show']); 
    Route::post('/{parties}',['as' => 'parties.update', 'uses' => 'PartiesController@update']); 
    Route::delete('/{parties}',['as' => 'parties.destroy', 'uses' => 'PartiesController@destroy']); 
});

【问题讨论】:

    标签: php laravel rest


    【解决方案1】:

    您可以检查party_category 是否存在于url 上。

    public function index(\Illuminate\Http\Request $request) {
       if($request->has('party_category')){
          $parties = Parties::where('party_category', $request->party_category)->get();//your new query here
       }
       else{
          $parties = Parties::all();
       }
       return Fractal::includes('places')->collection($parties,new PartyTransformer);
    }
    

    【讨论】:

    • 非常感谢 :) ,我现在明白它的工作原理了。
    猜你喜欢
    • 2020-05-26
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 2011-09-02
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多