2017-04-22 2 views
0
나는 몇 시간에서이 쿼리를 만들려고 노력하고있어

중첩,하지만 난Laravel 5.1 복잡한 쿼리

\DB::select(\DB::raw(
" 
SELECT * FROM products AS P WHERE (`d` = $d) 
      AND (`mis` BETWEEN $min_c AND $max_c) 
      AND (`e` BETWEEN $e_min AND $e_max) 
      AND p1 IN 
          (
          SELECT p1 
          FROM autos AS A 
          WHERE (`ma` = $strma) 
          AND (`d` = $d) 
          AND (`mis` BETWEEN $min_c AND $max_c) 
          AND (`e` BETWEEN $e_min AND $e_max) 
          AND (`p1` = P.p1) 
          AND (`p2` = P.p2) 
          ) 
      AND p2 IN 
          (
          SELECT p2 
          FROM autos AS A 
          WHERE (`ma` = $strma) 
          AND (`d` = $d) 
          AND (`mis` BETWEEN $min_c AND $max_c) 
          AND (`e` BETWEEN $e_min AND $e_max) 
          AND (`p1` = P.p1) 
          AND (`p2` = P.p2) 
          ) 
"    
)); 

나는 내가

처럼이 개 기능을 사용할 수 있다고 생각 laravel 구문이 쿼리를 할 수 없습니다
->whereIn(array('p1','p2'), 
function($query){ 

... 
} 
function($query2){ 
... 
} 
) 

하지만 작동하지 않습니다. 어떤면에서 laravel 구문으로 데이터베이스에 요청할 수 있습니까?

+1

어떻게 될까요? MySQL 또는 Laravel에 문제가 있습니까? MySql보다 직접적인 인터페이스에서 직접 쿼리를 시도 했습니까? 당신의 문제가 무엇인지는 매우 불분명합니다! – sergiol

답변

0

2 개의 기능을 사용하여 2를 해결했습니다.

->whereIn('p1',function($query) use (... 
->whereIn('p2',function($query2) use (...