我尝试了以下方法:
$one = OneModel::findOrFail($id);
$two = $one->two_model()->findOrFail($two_id);
$two->delete();
但是这会从数据库中删除记录,我怎么能只删除关系而不从表中删除?而且也不必弄乱数据透视表,因为如果需要,我为什么要使用框架......
如果我没猜错的话,detach()
就是你要找的:
$one = OneModel::findOrFail($id);
$one->two_model()->detach($two_id);
这将仅删除与数据透视表中one_model
表$id
和two_model
表$two_id
的关系。
单击此处了解更多详情。