Php 邮政及;在一个函数中获取方法?拉威尔5.4

Php 邮政及;在一个函数中获取方法?拉威尔5.4,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我有一个功能,需要做一个职位,并得到行动。 我正在创建一个报价系统。客户可以要求报价。此优惠名为$pendingOffer。工作人员可以接受报价,当它接受数据库行时,该行将转移到$offer表中。pendingOffer仍在pendingOffer表中。我想删除这个。我使用POST方法将pendingOffer存储到Offer表中。我想使用GET方法删除pendingOffer。我该怎么做 路线: Route::post('/create_offer/{request}/{id}', 'Requ

我有一个功能,需要做一个职位,并得到行动。 我正在创建一个报价系统。客户可以要求报价。此优惠名为
$pendingOffer
。工作人员可以接受报价,当它接受数据库行时,该行将转移到
$offer
表中。pendingOffer仍在pendingOffer表中。我想删除这个。我使用POST方法将pendingOffer存储到Offer表中。我想使用GET方法删除pendingOffer。我该怎么做

路线:

Route::post('/create_offer/{request}/{id}', 'RequestOfferController@saveCreateOffer');
我的控制器:

public function saveCreateOffer(RequestOffer $request, RequestOffer $id) {
    $data = Request::all();

    $offer = new Offer($request->getAttributes());
    $offer->save();

    for ($i = 0; $i < count($data['products']); $i++) {
        $productId = $data['products'][$i];
        $productCount = $data['count'][$i];
        $start = $data['date'][$i];
        $period = $data['per_periode'][$i];
        $btw = $data['btw'][$i];

        $product = Product::find($productId);
        if (!$product) {
            $offer->delete();
            return back()->withInput()->withErrors(['error' => 'Één van de producten kon niet gevonden worden.']);
        }

        $offerProduct = new OfferProduct();
        $offerProduct->product()->associate($product);
        $offerProduct->offer()->associate($offer);
        $offerProduct->count = $productCount;
        $offerProduct->start_date = Carbon::parse($start);
        $offerProduct->btw = $btw;
        $offerProduct->period = $period;
        $offerProduct->save();
    }

    $pendingOffer = RequestOffer::find($id);
    $pendingOffer->delete();

    return redirect('/home');
}

如果它们是不同的请求方法并执行不同的操作,为什么要将它们组合在一个函数/方法中?为每个操作创建新路由和新控制器方法

您可以使用相同的URL发布文章,并进入路由文件

例:


虽然,对我来说,使用GET-on-this-URL来删除挂起的报价是没有意义的。您可能应该使用对更合适的URL的删除请求来删除报价。

您可以发布完整的控制器(带有导入)和异常的完整回溯吗?
MethodNotAllowedHttpException in RouteCollection.php line 251:
Route::post('/create_offer/{request}/{id}', 'RequestOfferController@saveCreateOffer');
Route::get('/create_offer/{request}/{id}', 'RequestOfferController@deleteOffer');