使用laravel删除功能删除记录

时间:2017-02-13 07:11:17

标签: php laravel-5.3

我想删除名为post的表中的记录。我在我的视图中发送一个名为param的参数,以删除针对此标记的特定记录。  所以这是我的路线

   Route::get('/delete' , array('as' =>'delete' , 'uses' => 'Postcontroller@deletepost'));

通过这条路线,我删除了我的帖子,它的'标签'字段。我的桌子有两栏。一个是标签,另一个是内容 我在PostController中的删除功能是

   public function deletepost($tag){

   $post = post::find($tag); //this is line 28 in my fuction
   $post->delete();
   echo ('record is deleted') ;
   }

我从我的视图发送标记,但它发出以下错误

  ErrorException in Postcontroller.php line 28:
  Missing argument 1 for
  App\Http\Controllers\Postcontroller::deletepost()

3 个答案:

答案 0 :(得分:1)

您的行动应如下所示:

PostId | UserId
-----------------------------------
   1   | 1
   1   | 2
   1   | 4
   1   | 5
   1   | 9
   1   | 10
   1   | 220

答案 1 :(得分:1)

如果像tag_id一样传递参数,则必须传递参数,然后必须使用Request在控制器函数内捕获它。

public function deletepost(Request $request){

   $post = post::find($request::get('tag_id')); 
   $post->delete();
   echo ('record is deleted');
}

答案 2 :(得分:0)

您没有告诉路线期望该参数。 你应该在你的路线文件中尝试这种方式:

Route::get('/delete/{tag}' , array('as' =>'delete' , 'uses' => 'Postcontroller@deletepost'));