嗨,我正在学习 laravel。我使用 Eloquent ORM 删除方法,但得到不同的结果。不是真或假,而是空。我设置了一个资源路由,UsersController中有一个destroy方法。
public function destroy($id){
$res=User::find($id)->delete();
if ($res){
$data=[
'status'=>'1',
'msg'=>'success'
];
}else{
$data=[
'status'=>'0',
'msg'=>'fail'
];
return response()->json($data);
但是我总是得到一个响应 {“status”:“0”,“msg”:“failed”},数据库中的记录被删除。
然后我使用 dd($res) 。它在页面中显示 null 。
但是从课程中我了解到它返回一个布尔值 true 或 false。
我的代码有错误吗?
你能告诉我一些其他方法,当我从数据库中删除数据时,我可以获得布尔结果吗?
原文由 Evol Rof 发布,翻译遵循 CC BY-SA 4.0 许可协议
在
delete
之前,laravel 中有几种方法。User::find(1)
和User::first()
返回一个实例。User::where('id',1)->get
和User::all()
返回实例的集合。在模型实例上调用
delete
返回true/false
在实例集合上调用
delete
返回一个数字,该数字表示已删除记录的数量还有其他删除方法,您可以调用
destroy
作为模型静态方法,如下所示One more thing ,if you are new to
laravel
,you can usephp artisan tinker
to see the result, which is more efficient and thendd($result)
,print_r($result);