Php 使用laravel Delete功能删除记录

Php 使用laravel Delete功能删除记录,php,laravel-5.3,Php,Laravel 5.3,我想从名为post的表中删除一条记录。我正在视图中发送一个名为param的标记,以删除此标记的特定记录。 这是我的路线 Route::get('/delete' , array('as' =>'delete' , 'uses' => 'Postcontroller@deletepost')); 通过这条路线,我将根据“标签”字段删除我的帖子。我的桌子有两列。一个是标签,另一个是内容 我在PostController中的删除功能是 public function dele

我想从名为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()

您没有告诉路由期望该参数。 您应该在路由文件中这样尝试:

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

您没有告诉路由期望该参数。 您应该在路由文件中这样尝试:

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

您的操作应如下所示:

use Illuminate\Http\Request;

public function deletepost(Request $request) // add Request to get the post data
{
    $tagId = $request->input('id'); // here you define $tagId by the post data you send
    $post = post::find($tagId);
    if ($post) {
        $post->delete();
        echo ('record is deleted!');
    } else {
        echo 'record not found!');
    }
}

您的操作应如下所示:

use Illuminate\Http\Request;

public function deletepost(Request $request) // add Request to get the post data
{
    $tagId = $request->input('id'); // here you define $tagId by the post data you send
    $post = post::find($tagId);
    if ($post) {
        $post->delete();
        echo ('record is deleted!');
    } else {
        echo 'record not found!');
    }
}

您必须为示例传递参数如果您像tag_id一样传递它,那么您必须使用Request在控制器函数中捕获它

public function deletepost(Request $request){

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

您必须为示例传递参数如果您像tag_id一样传递它,那么您必须使用Request在控制器函数中捕获它

public function deletepost(Request $request){

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

RouteCollection.php第161行中的NotFoundHttpException:现在浏览器显示此错误RouteCollection.php第161行中的NotFoundHttpException:现在浏览器显示此错误公共函数deletepost(请求$Request){$tagId=$Request->input('tag');$post=post::find($tagId);$post->delete($tagId);echo('record is deleted');}通过更改此followinf错误,调用null上的成员函数delete(),并更改
$tagId=$request->input('id'));
,post请求发送的post id标识符的名称的
id
。我认为在5.3中,我们必须使用get方法而不是input。但是您的逻辑起作用了。谢谢,如果我们想删除自定义基上的任何记录,除了主键之外,我们必须指定我们的条件。实际上,我从5.4开始就在玩Laravel,但我很高兴您找到了解决方案。公共函数deletepost(Request$Request){$tagId=$Request->input('tagId');$post=post::find($tagId);$post->delete($tagId);echo('record is deleted');}通过更改此followinf错误,调用了null上的成员函数delete(),并更改
$tagId=$request->input('id');
,post请求发送的post id标识符的名称的
id
。我认为在5.3中,我们必须使用get方法而不是input。但是您的逻辑起作用了。谢谢,如果我们想删除自定义基上的任何记录,除了主键之外,我们必须指定我们的条件。实际上,我从5.4开始就在玩Laravel,但我很高兴你找到了解决办法。你的欢迎词:D Qadeer_sipray你的欢迎词:D Qadeer_Sipra