2017-06-09 6 views
-1

SELECT mc.pr_category_id, mc.parents, mc.level, mc.lft, mc.rgt, mcdscr.cat_name FROM table_cat as mc RIGHT JOIN (SELECT c.*, dscr.cat_name FROM table_cat AS c JOIN table_cat_description AS dscr ON c.pr_category_id = dscr.pr_category_id AND c.pr_category_id = $pr_category_id ) AS test ON (mc.rgt < test.rgt) AND mc.lft > test.lft JOIN table_cat_description AS mcdscr ON mc.pr_category_id = mcdscr.pr_category_id ORDER BY mcdscr.cat_name ASC Lavarel DBサブクエリとサブクエリで選択してください

私はleftJoinを使用していますが、動作しません。あなたはサブクエリを助けることができますか?

+0

もう少し説明できます – Shibon

+0

何をしようとしているのですか? – Shibon

答えて

0

テストされていません..しかし、アイデアはどこかにあるはずです。

$sql1 = DB::table(DB::raw('SELECT c.*, dscr.cat_name FROM table_cat AS c JOIN table_cat_description AS dscr ON c.pr_category_id = dscr.pr_category_id AND c.pr_category_id = $pr_category_id 
    ')); 
$sql2 = DB::table(DB::raw('SELECT mc.pr_category_id, mc.parents, mc.level, mc.lft, mc.rgt, mcdscr.cat_name')); 

$query = DB::table(DB::raw("($sql) AS mc"))->leftJoin(DB::raw('($sql2) as test'), function($join) 
     { 
     $join->on('mc.rgt', '<', 'test.rgt'); 
     $join->on('mc.lft', '>', 'test.lft'); 
     }) 
    ->join('table_cat_description AS mcdscr', 'mc.pr_category_id', '=', 'mcdscr.pr_category_id') 
    ->orderBy('mcdscr.cat_name', 'asc') 
    ->get(); 
0
return $data = DB::table("table_cat ") 
    ->select("table_cat_description .*") 
    ->join(DB::raw("(SELECT c.*, dscr.cat_name FROM table_cat AS c 
       JOIN table_cat_description AS dscr ON c.pr_category_id = dscr.pr_category_id 
       AND c.pr_category_id = 20 AND dscr.lang = 'vi' 
      ) as test"),function($join){ 
      $join->on('test.pr_category_id', '=', 'pp_product_category.pr_category_id'); 
      $join->orOn('test.parents', '=', 'pp_product_category.pr_category_id'); 
    }) 
    ->join('table_cat_description ', 'table_cat .pr_category_id', '=', 'pp_product_category_desc.pr_category_id') 
    ->whereRaw("table_cat_description.lang = 'en'") 
    ->orderBy('table_cat .level', 'asc') 
    ->get(); 

私は、クエリを使用して働いています。ありがとうございました

関連する問題