首页  >  文章  >  后端开发  >  如何在 Laravel 中同步具有多个透视字段的数组?

如何在 Laravel 中同步具有多个透视字段的数组?

Susan Sarandon
Susan Sarandon原创
2024-10-19 17:53:29875浏览

How to Sync an Array with Multiple Pivot Fields in Laravel?

在 Laravel 中将数组与附加枢轴字段同步

在 Laravel 中,sync() 方法允许您管理多对-模型之间有很多关系。虽然文档提供了同步单个数据透视表行的示例,但它没有明确说明如何将自定义数据透视表数据与多个同步行相关联。

解决方案在于为您需要的每个相关模型指定一个数据透视表数据数组。想要同步。通过提供一个键值对,其中键是相关模型的 ID,值是数据透视字段值的数组,您可以将其他数据透视数据与正在同步的每一行相关联。

例如,考虑一个用户模型与角色模型具有多对多关系。此关系的数据透视表有一个过期字段。如果您想与用户同步三个角色,每个角色都有不同的过期值,您可以按如下所示操作:

<code class="php">$user->roles()->sync([
    1 => ['expires' => true],
    2 => ['expires' => false],
    3 => ['expires' => null],
]);</code>

这会将用户与三个角色 ID 同步,并关联指定的过期值数据透视表中的每一行。

以上是如何在 Laravel 中同步具有多个透视字段的数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn