【发布时间】:2020-01-01 15:06:36
【问题描述】:
我正在尝试从名为“cart”的 sql 表中删除一行数据。 在我看来,它找不到名为“cartid”的 id。我正在使用一个名为 insomnia 的程序,感觉它不会接受我的输入。
它得到一个错误,称为:“MethodNotAllowedHttpException”
我使用 laravel 5.4,这是我的要求。
我还有其他可用的功能,但我不明白为什么这个不可用。
我的代码中的一些快照
我尝试过使用
Route::delete('cart-remove/{id}', 'CartController@delete');
还有更多
这是在我的“api.php”文件中:
Route::delete('cart-remove', 'CartController@delete');
这是在我的名为“CartController”的文件中:
class CartController extends Controller {
public function delete($id) {
DB::table('cart')->where('cartid', '=', $id)->delete();
return response($id, 200);
}
}
我想从名为“insomnia”的程序中获取 id,以在我的 sqlite 数据库中删除该 id。
【问题讨论】:
-
:id如果未设置将不会设置为$id,因为您使用?id=parm 等,也许如果您想同时使用您需要使用Input::get,或者只是删除预期没有:id的溃败。如果你想全部删除它们,你只需要Route::delete('cart-remove', 'CartController@delete');,否则期望/处理 id -
您应该针对
/cart-remove/123提出 DELETE 请求,不尝试按照您目前的做法在请求正文中发送 id。 -
@misorude 所以我应该像以前一样提出删除请求吗?在 cart-remove/? 后面加上 {id}那么 CartController.php 应该怎么看呢?一样吗?
-
控制器应该保持不变。 因为您已将路由设置为
cart-remove/{id},它会自动将URL as $id 中该位置的值传递给控制器的删除方法调用。跨度>
标签: php sqlite laravel-5.4