删除用户个人资料

时间:2015-04-17 16:28:20

标签: php sql laravel foreign-keys laravel-5

我试图尝试从我的数据库中删除用户以及他们的个人资料。现在它只删除users表中的行。这里唯一的区别是user_profiles表被标记为user_id字段,而不是增量字段。该如何实现?这是应该包含在交易中的东西吗?

/**
 * Remove the specified resource from storage.
 *
 * @param  int $id id
 *
 * @return Response
 */
public function destroy($id)
{
    $this->userRepository->delete($id);

    $this->userProfileRepository->delete($id);

    return redirect('users');
}

1 个答案:

答案 0 :(得分:2)

是的,您可以使用事务来确保删除这两个记录,但您也可以使用user_iduser_profiles表格中为ON DELETE CASCADE字段创建外键,它将自动删除所以你不需要手动在user_profiles上运行删除。

例如,在您的迁移文件中,它可能如下所示:

$table->foreign('user_id')->references('id')>on('users')->onDelete('CASCADE');