Laravel API 从数据库中删除行

Laravel API delete row from db

当尝试按如下所示从数据库中删除行时,出现错误 - count(): Parameter must be an array or an object that implements Countable。我认为我的代码中没有 id 传递给 delete() 函数,我不确定如何传递它。请帮我提出你的建议。

控制器

public function delete($id){
            
            
            $data = PersonalDetails::where('id',$id)->delete();
            // dd($data);
            if(count($data)){
    
                return response()->json(['message'=>'Successfully Deleted']);
            }
            else{
                return response()->json(['message'=>'Delete Failed']);
            }
        }

路线

Route::group([
    'namespace'=>'App\Http\Controllers',
    'middleware' => 'api',
], function ($router) {

    Route::post('delete/{id}', 'PersonalDetailsAdmin@delete');
}

->delete() 方法已经 returns 删除行的计数,所以解决方案是:

public function delete($id){
    
    $count = PersonalDetails::where('id',$id)->delete();
    // dd($data);
    if($count > 0 ){

        return response()->json(['message'=>'Successfully Deleted']);
    }
    else{
        return response()->json(['message'=>'Delete Failed']);
    }
}