> 데이터 베이스 > MySQL 튜토리얼 > Laravel ORM을 사용하여 Insert...Select 문을 만드는 방법은 무엇입니까?

Laravel ORM을 사용하여 Insert...Select 문을 만드는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-05 05:25:02
원래의
1016명이 탐색했습니다.

How to Create Insert...Select Statements with Laravel ORM?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿