Laravel API从数据库中删除行



在尝试按id从数据库中删除行时,出现错误-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'=>'AppHttpControllers',
'middleware' => 'api',
], function ($router) {
Route::post('delete/{id}', 'PersonalDetailsAdmin@delete');
}

->delete()方法已经返回已删除行的计数,因此解决方案为:

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']);
}
}

最新更新