【问题标题】:How to delete data from database in laravel?如何从 laravel 中的数据库中删除数据?
【发布时间】:2019-06-08 06:10:48
【问题描述】:

在我的网站上,我有一个页面,用户可以在其中查看他们的订单。在此表中,我希望能够通过单击链接来删除订单。但是,到目前为止我尝试的一切都不起作用。我不知道我做错了什么或者我能做些什么来让我工作。它一直给我一个 404 错误。

我的路线:

Route::get('destroy/{$id}', 'AccountController@destroy');

我的控制器功能:

public function destroy($id)
{
    RestaurantModel::where('id', $id)->delete();

    return back('/');
}

我的模型:不要介意模型名称。

class RestaurantModel extends Model
{
protected $table = 'orders';
protected $primarykey = 'orderNumber';
} 

我认为表格中的行:删除功能在代码的后面。

@foreach ($orders as $order)
            <tr>
                 <td><a href="">{{{ $order->orderNumber }}}</a></td>
                 <td>{{{ $order->orderDate }}}</td><td>{{{ $order->shippedDate }}}</td>
                 <td>{{{ $order->status }}}</td>
                 <td>{{{ $order->comments }}}</td>
                 <td>{{{ $order->customerNumber }}}</td>
                 <td><a href="{{ action('AccountController@destroy', $order->orderNumber) }}">Delete order</a></td>
            </tr>
@endforeach

我希望有人可以帮助我解决我的问题。我已经坚持了一段时间了。

【问题讨论】:

标签: laravel eloquent frameworks


【解决方案1】:

尝试改变你的路线

Route::get('destroy/{$id}', 'AccountController@destroy');

Route::get('destroy/{id}', 'AccountController@destroy');

【讨论】:

  • 它仍然给我一个 404 not found 错误。我认为问题出在我的路线上?
  • 更改了我认为可能是问题的答案,您可以尝试发布结果吗?
  • 我尝试将路线更改为您为我提供的路线。它从数据库中删除了该行,但仍然抛出错误。这是它给我的错误。传递给 Symfony\Component\HttpFoundation\RedirectResponse::__construct() 的参数 2 必须是整数类型,给定字符串,在 D:\wamp64\www\restaurant\vendor\laravel\framework\src\Illuminate\Routing\Redirector 中调用.php 在第 203 行
  • 很好!它现在进入了方法。但是,仍然有一个错误。将您的 return back('/'); 更改为 return redirect()-&gt;back();return redirect('/);redirect()-&gt;back(); 将用户重定向到上一页,redirect('/'); 将用户重定向到 '/' 端点。
  • 成功了!非常感谢您的帮助,您是英雄!
猜你喜欢
  • 2021-10-22
  • 2020-01-06
  • 1970-01-01
  • 2017-11-29
  • 2021-06-08
  • 1970-01-01
  • 1970-01-01
  • 2019-04-01
  • 1970-01-01
相关资源
最近更新 更多