>  기사  >  백엔드 개발  >  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으로 문의하세요.