从数据透视表laravel中删除一项

时间:2018-07-03 05:46:02

标签: laravel eloquent many-to-many

如果我具有行ID,如何从laravel中的多对多关系数据透视表中删除一个条目?

3 个答案:

答案 0 :(得分:1)

解决了。我使用了-> wherePivot('id','=',$ pivot_id)-> detach(),效果很好。

答案 1 :(得分:1)

假设您有具有多对多关系的UserEntity模型。然后您可以使用

$user->entity()->detach($entityId);

这只会删除带有该$entityId的行

答案 2 :(得分:1)

您可以这样做的最佳实践,

// Detach a single entity from the user...
$entity = Entity::find($your_entity_id);
$user->entities()->detach($entity->id);

首先,通过 Entity 模型

查找具有所需ID的实体,
$entity = Entity::find($your_entity_id);

获取实体后,可以将其传递到detach()方法中,

$user->entities()->detach($entity->id);

有关更多信息,请访问this link