복붙노트

[SQL] 웅변 / 유창한를 사용하여 단일 쿼리에서 여러 행을 삽입하는 방법

SQL

웅변 / 유창한를 사용하여 단일 쿼리에서 여러 행을 삽입하는 방법

나는 다음과 같은 쿼리를 가지고 :

  $query = UserSubject::where('user_id', Auth::id())->select('subject_id')->get();

하고 나는 다음과 같은 결과를 얻을 것으로 예상 :

[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]

다른 테이블에이 같은 그래서 내 테이블 모습을 위의 결과를 복사하는 방법이 있나요?

ID|user_id|subject_id
1 |8      |9
2 |8      |2

내가 가진 문제는 $ 쿼리 행의 알 수없는 전화 번호를 통해 반복하는 모든 행의 수 등 메신저 확신 방법을 기대할 수 있다는 것입니다.

해결법

  1. ==============================

    1.설득력 또는 쿼리 빌더 사용 Laravel에 대량 삽입을 할 정말 쉽습니다.

    설득력 또는 쿼리 빌더 사용 Laravel에 대량 삽입을 할 정말 쉽습니다.

    다음과 같은 방법을 사용할 수 있습니다.

    $data = [
        ['user_id'=>'Coder 1', 'subject_id'=> 4096],
        ['user_id'=>'Coder 2', 'subject_id'=> 2048],
        //...
    ];
    
    Model::insert($data); // Eloquent approach
    DB::table('table')->insert($data); // Query Builder approach
    

    귀하의 경우에 당신은 이미 $ 쿼리 변수 내의 데이터가 있습니다.

  2. ==============================

    2.웅변을 사용하여

    웅변을 사용하여

    $data = array(
        array('user_id'=>'Coder 1', 'subject_id'=> 4096),
        array('user_id'=>'Coder 2', 'subject_id'=> 2048),
        //...
    );
    
    Model::insert($data);
    
  3. from https://stackoverflow.com/questions/29723865/how-to-insert-multiple-rows-from-a-single-query-using-eloquent-fluent by cc-by-sa and MIT license