집 >데이터 베이스 >MySQL 튜토리얼 >Laravel ORM을 사용하여 Insert...Select 문을 만드는 방법은 무엇입니까?
Laravel ORM을 사용하여 Insert...Select 문 만들기
Insert를 사용하여 다른 테이블의 레코드를 새 테이블에 삽입할 수 있습니다. ..선택문. Laravel에서는 Eloquent ORM 또는 원시 SQL 쿼리를 활용하여 이 작업을 수행할 수 있습니다.
Laravel Eloquent의 열 바인딩
Laravel의 Eloquent ORM을 사용하면 다음과 같은 이점을 누릴 수 있습니다. 이전에 생성된 Select 쿼리에 대한 바인딩 매개 변수를 가져오기 위한 getBindings() 메서드의 이를 통해 이미 준비된 명령문을 재사용할 수 있습니다.
<code class="php"><?php // Create the Select query $select = User::where(...) ->where(...) ->whereIn(...) ->select(['email', 'moneyOwing']); // Get the binding parameters $bindings = $select->getBindings(); // Construct the Insert query $insertQuery = 'INSERT INTO user_debt_collection (email, dinero) ' . $select->toSql(); // Execute the Insert query using the bound parameters DB::insert($insertQuery, $bindings);</code>
원시 SQL 쿼리 사용
또는 원시 SQL 쿼리를 사용하여 삽입...선택을 생성할 수도 있습니다.
<code class="php"><?php $insertQuery = 'INSERT INTO Demand (Login, Name, ApptTime, Phone, Physician, Location, FormatName, FormatDate, FormatTime, ApptDate, FormatPhone, cellphone) SELECT Login, Name, ApptTime, Phone, Physician, Location, FormatName, FormatDate, FormatTime, ApptDate, FormatPhone, cellphone FROM [dbname] WHERE ' . $where_statement; DB::insert($insertQuery);
Laravel 5.7 이상
Laravel 5.7 이상에서는 insertUsing() 메소드를 활용하여 프로세스를 단순화할 수 있습니다.
<code class="php"><?php DB::table('user_debt_collection')->insertUsing(['email', 'dinero'], $select);</code>
위 내용은 Laravel ORM을 사용하여 Insert...Select 문을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!