반응형
웅변/유동어를 사용하여 단일 쿼리에서 여러 행을 삽입하는 방법
다음 질문이 있습니다.
$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
제가 안고 있는 문제는$query
는 임의의 수의 행을 상정할 수 있기 때문에 알 수 없는 수의 행을 반복하는 방법을 알 수 없습니다.
Larabel에서 Archent 또는 쿼리 빌더를 사용하여 대량 삽입을 하는 것은 매우 간단합니다.
다음과 같은 방법을 사용할 수 있습니다.
$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
고객님의 경우 이미 데이터 내에$query
변수.
웅변 사용
$data = array(
array('user_id'=>'Coder 1', 'subject_id'=> 4096),
array('user_id'=>'Coder 2', 'subject_id'=> 2048),
//...
);
Model::insert($data);
쿼리 빌더가 있든 없든 Larabel에서 대량 삽입을 하는 것은 매우 쉽습니다.다음과 같은 공식적인 방법을 사용할 수 있습니다.
Entity::upsert([
['name' => 'Pierre Yem Mback', 'city' => 'Eseka', 'salary' => 10000000],
['name' => 'Dial rock 360', 'city' => 'Yaounde', 'salary' => 20000000],
['name' => 'Ndibou La Menace', 'city' => 'Dakar', 'salary' => 40000000]
], ['name', 'city'], ['salary']);
언급URL : https://stackoverflow.com/questions/29723865/how-to-insert-multiple-rows-from-a-single-query-using-eloquent-fluent
반응형
'programing' 카테고리의 다른 글
정의되지 않은 의 속성을 읽을 수 없습니다('$store' 읽기). (0) | 2022.10.02 |
---|---|
최고의 오픈 소스 Java 차트 작성 라이브러리는 무엇입니까?(jfree chart 이외) (0) | 2022.10.02 |
Java에서 오류 코드/스트링을 정의하는 가장 좋은 방법? (0) | 2022.10.02 |
하나의 디렉토리 PHP에 모든 파일 나열 (0) | 2022.10.02 |
범위 내 모든 변수 가져오기 (0) | 2022.10.02 |