Cara Menyegerakkan Tatasusunan dan Menambah Medan Pangsi dengan Fungsi Laravel sync()

Linda Hamilton
Lepaskan: 2024-10-19 17:57:02
asal
339 orang telah melayarinya

How to Sync Arrays and Add Pivot Fields with the Laravel sync() Function

Laravel sync() Fungsi: Menyegerakkan Tatasusunan dan Menambah Medan Pangsi

Fungsi Laravel sync() membenarkan anda mengurus perhubungan antara model dan kaitkan medan pangsi dengannya.

Menghubungkan Baris Pangsi Tunggal

Seperti yang dinyatakan dalam dokumentasi rasmi, anda boleh menentukan tatasusunan ID untuk disegerakkan dan mengaitkan satu nilai pangsi dengan salah satu ID:

<code class="php">$user->roles()->sync(array(1 => array('expires' => true)));</code>
Salin selepas log masuk

Menghubungkan Berbilang Baris Pangsi

Untuk mengaitkan berbilang nilai pangsi dengan berbilang ID, buat tatasusunan ID sebagai kunci dan tatasusunan nilai pangsi sebagai nilai:

<code class="php">$syncData = [
    1 => ['expires' => true],
    2 => ['expires' => false],
    ...
];

$user->roles()->sync($syncData);</code>
Salin selepas log masuk

Dalam contoh di atas, setiap ID dipetakan kepada tatasusunan nilai pangsi yang sepadan.

Contoh Tersuai

Katakan anda ingin menetapkan berbilang pembesar suara kepada acara dan mengaitkan setiap pembesar suara dengan medan pangsi 'is_speaker'. Berikut ialah contoh:

<code class="php">$speakers  = (array) Input::get('speakers'); // related ids

// Create an array of pivot data with 'is_speaker' set to true for all speakers
$pivotData = array_fill(0, count($speakers), ['is_speaker' => true]);

// Combine the speakers array with the pivot data array
$syncData  = array_combine($speakers, $pivotData);

$user->roles()->sync($syncData);</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Cara Menyegerakkan Tatasusunan dan Menambah Medan Pangsi dengan Fungsi Laravel sync(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!