2017-04-22 13 views
0

私は数時間からこのクエリを作成しようとしているが、私はlaravel構文で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) 
          ) 
"    
)); 

をこのクエリを作ることができない私は私が

のような2つの機能を使用するために持っていると思います
->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 (... 
関連する問題