Insert를 이용한 효율적인 데이터 삽입... Laravel에서 선택
Laravel의 쿼리 변환
제공된 SQL 쿼리를 Laravel 표현식으로 변환하려면 Laravel 5.6 및 이전 버전에는 삽입... 선택 작업에 대한 직접적인 지원이 부족하다는 점을 이해하는 것이 중요합니다. 이는 직접 변환이 불가능하다는 것을 의미합니다.
Laravel의 대체 접근 방식
그러나 원하는 결과를 얻을 수 있는 해결 방법이 있습니다. 단일 쿼리를 시도하는 대신 두 단계로 나눌 수 있습니다:
예제 코드:
<code class="php">// Step 1: Generate the Select query $select = User::where(...) ->where(...) ->whereIn(...) ->select(array('email','moneyOwing')); // Step 2: Get binding parameters $bindings = $select->getBindings(); // Step 3: Construct raw SQL insert query $insertQuery = 'INSERT into user_debt_collection (email,dinero) ' . $select->toSql(); // Step 4: Execute the insert \DB::insert($insertQuery, $bindings);</code>
Laravel 5.7 업데이트
Laravel 5.7에서는 ->insertUsing() 메서드를 도입했습니다. 삽입...을 직접 지원합니다. 선택합니다. 이전 예는 다음과 같이 단순화됩니다.
<code class="php">DB::table('user_debt_collection')->insertUsing(['email','dinero'], $select);</code>
위 내용은 Laravel에서 '삽입...선택'을 사용하여 효율적으로 데이터를 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!