我想删除2个表中的雄辩数据 . 表dosen和用户 .
eloquent:id和user_id
1.users(id,name,username,email,password,admin,remember_token,updated_at,created_at)
2.dosen(iddosen,user_id,namadosen,nipy,alamatdosen,notelpdosen等)
这是我的方法:
public function destroy($id)
{
$dosenUpdate = Request::all();
$user = User::find($id);
$user->dosen()->delete($dosenUpdate);
return redirect('admin/dosen')->with('message', 'Data berhasil dihapus!');
}
当我使用该方法时,删除表中的数据 . 但在表用户中仍有数据 . 如果我改变我的方法:
public function destroy($id)
{
$dosenUpdate = Request::all();
$user = User::find($id)->delete();
$user->dosen()->delete($dosenUpdate);
return redirect('admin/dosen')->with('message', 'Data berhasil dihapus!');
}
我收到了错误:
Call to a member function dosen() on boolean
什么是正确的代码?
1 回答
在
destroy()
方法中,您将布尔值存储在$user
而不是用户模型中,因为您要删除以下行中的模型该行正在删除用户模型并返回查询状态,即是否成功 . 因此,
$user
正在存储delete()
方法的状态而不是user
模型将您的
destroy()
方法更改为: