一对一关联删除

审核中 Thinkphp6 未结 已结 置顶 精帖
删除 置顶 取消置顶 加精 取消加精
66 0
yswl
yswl VIP3 2021-09-04 10:25:07
悬赏:60金币 编辑此贴

thinkphp6 中一对一关联删除数据的时候 提示:没有条件不会执行删除操作

$data = UserModel::with(['hobby'])->find($id);
$data->hobby()->delete();

报错详情:

image


解决方法:


解决方式一

UserModel:模型名称

with():用于关联预载入 支持类型:字符串、数组

hobby:关联模型的名称

find():查询一条数据

delete():删除数据

together():自动关联数据写入操作 

$data = UserModel::with(['hobby'])->find($id);
$data->hobby->delete();

上边的方式可以合并为:

UserModel::with(['hobby'])->find($id)->hobby->delete();


解决方式二

$data = UserModel::with(['hobby'])->find($id);
$data->together(['hobby'])->delete();

上边的方式可以合并为:

UserModel::with(['hobby'])->find($id)->together(['hobby'])->delete();


参考网址:

https://www.thinkphp.cn/topic/68775.html