> 백엔드 개발 > PHP 튜토리얼 > MySQL 다중 문 쿼리를 Laravel Eloquent로 어떻게 변환할 수 있나요?

MySQL 다중 문 쿼리를 Laravel Eloquent로 어떻게 변환할 수 있나요?

Patricia Arquette
풀어 주다: 2024-10-26 04:29:31
원래의
179명이 탐색했습니다.

How can I convert a MySQL multi-statement query to Laravel Eloquent?

MySQL 다중 문 쿼리를 Laravel Eloquent로 변환

다음 MySQL 쿼리를 고려하세요.

SELECT <br> GROUP_CONCAT(DISTINCT</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">CONCAT(
  'ifnull(SUM(case when location_code = ''',
  location_code ,
  ''' then quantity end),0) AS `',
  location_code , '`'
)
로그인 후 복사

) INTO @sql
FROM
item_details;
SET @sql = CONCAT('SELECT item_number,SUM(수량)을 "총_수량"으로, ', @sql, '

              FROM item_details
               GROUP BY item_number');
로그인 후 복사

@sql에서 PREPARE stmt;
EXECUTE stmt;

DEALLOCATE PREPARE stmt;

문제는 특히 PREPARE, EXECUTE, SET 및 DEALLOCATE와 같은 다양한 문을 고려하여 이 쿼리를 Laravel Eloquent로 변환하는 것입니다.

해결책:

대부분 변환이 필요합니다. 원시 쿼리 포함:

DB::table('item_details')->selectRaw('GROUP_CONCAT(...) INTO @sql')->get();<br> DB::statement('SET @sql = CONCAT(...)');<br>DB::statement('@sql에서 stmt 준비');<br>DB::statement('EXECUTE stmt'); <br>DB::statement('DEALLOCATE PREPARE stmt');<br>

다음은 더 자세한 구현입니다.

DB::table( 'item_details')->selectRaw('GROUP_CONCAT(...) INTO @sql')->get();<br>$sql = DB::selectOne('select @sql')->{' @sql'};<br>ItemDetails::select('item_number', DB::raw('SUM(수량) as total_Quantity'))</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">->selectRaw($sql)
->groupBy('item_number')
->get();
로그인 후 복사

이 접근 방식은 원시 쿼리와 Eloquent 메서드의 조합을 활용하여 원본 MySQL 쿼리에서 Laravel Eloquent로의 변환을 효과적으로 처리합니다.

위 내용은 MySQL 다중 문 쿼리를 Laravel Eloquent로 어떻게 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
이전 기사:PHP로 이미지를 업로드하는 동안 파일 이름과 양식 데이터를 함께 저장하는 방법은 무엇입니까? 다음 기사:최적의 품질과 크기를 위해 PHP 및 ImageMagick을 사용하여 PDF에서 JPEG 변환을 향상시키는 방법은 무엇입니까?
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 이슈
관련 주제
더>
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿