>데이터 베이스 >MySQL 튜토리얼 >Laravel Eloquent 및 Query Builder를 사용하여 대량 삽입을 효율적으로 수행하는 방법은 무엇입니까?

Laravel Eloquent 및 Query Builder를 사용하여 대량 삽입을 효율적으로 수행하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-12 20:17:42762검색

How to Efficiently Perform Bulk Inserts with Laravel Eloquent and Query Builder?

Laravel Eloquent/Fluent를 사용하여 여러 행의 데이터 일괄 삽입

이 예에서는 쿼리 결과 데이터를 다른 테이블에 삽입하고 결과를 특정 형식으로 변환해야 합니다. 주요 과제는 결과의 행 수에 대한 잠재적인 변경 사항을 처리하는 것입니다.

Laravel의 일괄 삽입 기능 사용

다행히도 Laravel의 Eloquent 및 쿼리 빌더는 편리한 대량 삽입 방법을 제공합니다. 다음 방법을 활용하여 원하는 결과를 얻을 수 있습니다.

  1. 웅변적인 방법:

    <code class="language-php"> $insertData = collect($query->get())->map(function ($row) {
         return [
             'user_id'   => $row->user_id,
             'subject_id' => $row->subject_id,
         ];
     });
    
     Model::insert($insertData->toArray());</code>
  2. 쿼리 빌더 방법:

    <code class="language-php"> $insertData = collect($query->get())->map(function ($row) {
         return [
             'user_id'   => $row->user_id,
             'subject_id' => $row->subject_id,
         ];
     });
    
     DB::table('new_table')->insert($insertData->toArray());</code>

두 경우 모두 $insertData 변수에는 필요한 형식으로 변환된 데이터가 포함됩니다. insert 메소드는 지정된 테이블에 대한 대량 삽입 작업을 처리합니다. insert 메서드가 데이터를 올바르게 처리하는지 확인하려면 $insertData 메서드를 사용하여 ->toArray()를 배열로 변환해야 합니다.

위 내용은 Laravel Eloquent 및 Query Builder를 사용하여 대량 삽입을 효율적으로 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.