Php 插入或删除后返回同一行中的同一视图。拉维尔

Php 插入或删除后返回同一行中的同一视图。拉维尔,php,sql,laravel,Php,Sql,Laravel,我对laravel和php是新手。在函数完成后,我编写了删除和插入函数的代码。。我需要返回到同一视图,以便用户可以再次删除或插入。 我尝试使用以下代码执行删除功能: function deleF(Request $request) { $filename=$request->input('filename'); DB::table('files')->where(['id'=>$filename])->delete(); ret

我对laravel和php是新手。在函数完成后,我编写了删除和插入函数的代码。。我需要返回到同一视图,以便用户可以再次删除或插入。 我尝试使用以下代码执行删除功能:

function deleF(Request $request)
    {
      $filename=$request->input('filename');
      DB::table('files')->where(['id'=>$filename])->delete();
      return redirect()->back()->with('alert','deleted');
    }
但我有一个错误:

未定义变量:courseN

注意:courseN这个变量是我在视图中使用这个函数之前使用的

更新: 这是包含$courseN的视图部分:

  <ul class="nav nav-tabs">
      @foreach  ($courseN as $cou)
      <li>{{$cou->enname}}</li>
      @endforeach
    </ul>
    @foreach($courseN作为$cou)
  • {{$cou->enname}
  • @endforeach

也许您想要返回的上一个视图可以通过POST或get以外的其他方法访问。当您使用back()方法时。您正在通过GET方法重定向回页面。因此,在这里传回数据不是一个解决方案

你只有两个选择

  • 您应该将上一页的方法更改为
    GET
    ,以便 可以轻松回到您想要的任何时间
  • 或者通过AJAX删除项目,这样页面就不需要刷新

  • 据我所知。。上面的函数工作得很好。但是加载视图时没有
    courseN
    变量,因此会出现错误

    尝试更改函数,使其将
    courseN
    变量传递给视图

    例如,类似这样的事情:

    function deleF(Request $request)
        {
          $filename=$request->input('filename');
          DB::table('files')->where(['id'=>$filename])->delete();
    
          $courseN = 'something it has to be'
    
          return redirect()->back()->with('courseN',$courseN);
        }
    

    我想你可以试试这个:

    function deleF(Request $request)
        {
          $filename=$request->input('filename');
          DB::table('files')->where(['id'=>$filename])->delete();
    
          $courseN = 'false';
    
          return redirect()->back()->with('courseN',$courseN);
        }
    

    希望这为你工作

    向我们展示有关如何显示视图的代码它应该正常工作。您的错误与该函数无关。注意:登录函数。。将courseN变量发送到视图并打开视图。在视图中。。我调用deleF函数,然后我需要在调用该行之后返回到视图您是否通过POST方法发送它?是的,它是POST方法这可能是一个注释。我必须使用POST函数这里的问题与缺少的变量无关。它是关于如何访问页面的。正如您所说,您只能通过POST方法访问prev页面,并且您正准备使用back()方法返回,该方法只能为您提供
    GET
    请求。您应该使用AJAX来删除数据。