如果我有行的 id,如何从 Laravel 中的多对多关系数据透视表中仅删除一个条目?
我有两个多对多关系的实体。 例如,如果我有用户,并且 user_id = 1(表中该用户的 2 个条目),如果我执行 users->entity()->detach() ,它将删除 user_id = 1 的所有条目,并且我只想删除其中pivot->id = some_id_i_give
的条目解决了。我用过:
->wherePivot('id', '=', $pivot_id)->detach()
效果很好。
假设您有
User
和 Entity
具有多对多关系的模型。然后你就可以使用
$user->entity()->detach($entityId);
这只会删除具有该
$entityId
的行
你可以这样做的最佳实践,
// Detach a single entity from the user...
$entity = Entity::find($your_entity_id);
$user->entities()->detach($entity->id);
首先,通过 Entity Model 找到具有所需 id 的实体,
$entity = Entity::find($your_entity_id);
获得实体后,可以将其传递给
detach()
方法,
$user->entities()->detach($entity->id);
欲了解更多信息,请访问此链接。