【问题标题】:How do i delete one row in my SQLite table?如何删除我的 SQLite 表中的一行?
【发布时间】:2020-01-01 15:06:36
【问题描述】:

我正在尝试从名为“cart”的 sql 表中删除一行数据。 在我看来,它找不到名为“cartid”的 id。我正在使用一个名为 insomnia 的程序,感觉它不会接受我的输入。

它得到一个错误,称为:“MethodNotAllowedHttpException”

我使用 laravel 5.4,这是我的要求。

我还有其他可用的功能,但我不明白为什么这个不可用。

https://imgur.com/a/T0aOwJF

我的代码中的一些快照

我尝试过使用

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


【解决方案1】:

从数据库中删除条目时使用模型的destroy方法:

use App\SomeModel;

class SomeController extends Controller {
    public function destroy($id) //or delete($id)
    {
         SomeModel::destroy($id);
         return response($id, 200);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多