> 백엔드 개발 > PHP 튜토리얼 > Laravel sync() 함수를 사용하여 배열을 동기화하고 피벗 필드를 추가하는 방법

Laravel sync() 함수를 사용하여 배열을 동기화하고 피벗 필드를 추가하는 방법

Linda Hamilton
풀어 주다: 2024-10-19 17:57:02
원래의
425명이 탐색했습니다.

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

Laravel sync() 함수: 배열 동기화 및 피벗 필드 추가

Laravel sync() 함수를 사용하면 모델과 모델 간의 관계를 관리할 수 있습니다. 피벗 필드를 해당 필드와 연결합니다.

단일 피벗 행 연결

공식 문서에서 언급했듯이 ID 배열을 지정하여 단일 피벗 값을 동기화하고 연결할 수 있습니다.

<code class="php">$user->roles()->sync(array(1 => array('expires' => true)));</code>
로그인 후 복사

여러 피벗 행 연결

여러 피벗 값을 여러 ID와 연결하려면 ID 배열을 키로 생성하고 피벗 값을 값으로 사용:

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

$user->roles()->sync($syncData);</code>
로그인 후 복사

위 예에서 각 ID는 해당 피벗 값 배열에 매핑됩니다.

사용자 지정 예

이벤트에 여러 명의 발표자를 할당하고 각 발표자를 'is_speaker' 피벗 필드와 연결한다고 가정해 보겠습니다. 예는 다음과 같습니다.

<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>
로그인 후 복사

위 내용은 Laravel sync() 함수를 사용하여 배열을 동기화하고 피벗 필드를 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿