在 Laravel 文档中,我发现 detach() 方法可以分离多对多关系中的所有对象。 Laravel 中的 detach() 方法也可以应用于一对多关系吗?如果没有,在这种情况下如何分离所有 n 个对象?
最佳答案
在多对多关系中, detach() 方法仅删除数据库中的枢轴条目,除非您有特定的级联删除。
对于一对多关系,您希望使用 dissociate() 方法解除关系的绑定(bind),并使用 associate() 将其绑定(bind)到belongsTo 端。
$comment->post()->associate($post->id);
相反,您可以在 hasMany 端使用 attach() 添加帐户:
$post->comments()->attach($comment->id);
要删除所有评论,您可以执行以下操作:
$post->comments()->delete();
更多信息在这里:
https://laravel.com/docs/5.6/eloquent-relationships
关于php - detach() 方法也可以应用于 Laravel 中的一对多关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49323458/