如何使用用户帐户删除与用户相关的所有内容



我想删除用户帐户,以及我想检查用户是否包含任何'posts', 'messages', 'friends',如果是,我也希望它删除它们。
我没有在他们的模型中建立任何关系。
我很难发展这个逻辑,任何人都可以帮助我。

这是我到目前为止所做的,但不起作用:-

public function delete()
{
$delete = User::find(Auth::user()->id);
$post = DB::table('posts')
->where('created_by', '=', Auth::user()->uuid)
->get();
$messages = DB::table('messages')
->where('from', '=', Auth::user()->id)
->where('to', '=', Auth::user()->id)
->get();
$friend = DB::table('friends')
->where('my_id', '=', Auth::user()->id)
->where('friends_id', '=', Auth::user()->id)
->get();

$delete->delete();
$post->delete();
$message->delete();
$friend->delete();
}

get()会给你一个数组,所以delete()使用->get后可能不起作用。

试试这个:

$delete = User::find(Auth::user()->id);
$delete->delete(); // Example of Model
$post = DB::table('posts')
->where('created_by', '=', Auth::user()->uuid)
->delete();
$messages = DB::table('messages')
->where('from', '=', Auth::user()->id)
->where('to', '=', Auth::user()->id)
->delete();
$friend = DB::table('friends')
->where('my_id', '=', Auth::user()->id)
->where('friends_id', '=', Auth::user()->id)
->delete();

相关内容

最新更新