首頁 >後端開發 >php教程 >如何在 Laravel 中同步具有多個透視字段的陣列?

如何在 Laravel 中同步具有多個透視字段的陣列?

Susan Sarandon
Susan Sarandon原創
2024-10-19 17:53:29971瀏覽

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