Lumen雄辩地离开了加入

时间:2016-11-14 09:28:25

标签: laravel eloquent lumen

我希望从Laravel迁移到Lumen,然后我的Laravel上的每个代码都运行并且没有错误并且运行良好。然后我发现这条线并且在Lumen中雄辩的翻译与Laravel不同。

DB::table('products_categories')
        ->select('products.*', 'brands.name as brand_name', 'categories.link_rewrite as category_link_rewrite',
            'product_medias.id as id_image', 'product_stocks.quantity as product_stock', 'product_medias.path','product_medias.filename', 'specific_prices.reduction_type', 'specific_prices.reduction as reduction',
            'specific_prices.reduction', 'products_categories.position')
        ->leftJoin('products', 'products.id', '=', 'products_categories.product_id')
        ->leftJoin('product_stocks', 'products.id', '=', 'product_stocks.product_id')
        ->leftJoin('brands', 'brands.id', '=', 'products.brand_id')
        ->leftjoin('product_medias', function($join){
                $join->on('product_medias.product_id', '=', 'products.id')
                    ->whereIn('product_medias.cover', [1, 0]);
            })
        ->leftJoin('categories', 'products_categories.category_id', '=', 'categories.id')
        ->leftJoin('specific_prices', function($join){
                $join->on('specific_prices.product_id', '=', 'products.id')
                ->on(DB::raw("(`specific_prices`.`from` = '0000-00-00 00:00:00' OR '".date('Y-m-d H:i:s')."' >=  `specific_prices`.`from`)"), DB::raw(''), DB::raw(''));

        })
        ->where('categories.name','=', "Special Price" )
        ->where('products.active','=', 1)
        ->whereNull('products.deleted_at')
        ->groupBy('products_categories.product_id')
        ->orderBy('products_categories.id', 'desc');

再一次,它正在我的Laravel上工作,但我对Lumen感到'错误',有没有解决方案可以解决这个问题?

如果我转储此行,查询将如下所示:

 select `products`.*, `brands`.`name` as `brand_name`, `categories`.`link_rewrite` as `category_link_rewrite`, `product_medias`.`id` as `id_image`, `product_stocks`.`quantity` as `product_stock`, `product_medias`.`path`, `product_medias`.`filename`, `specific_prices`.`reduction_type`, `specific_prices`.`reduction` as `reduction`, `specific_prices`.`reduction`, `products_categories`.`position` from `products_categories` left join `products` on `products`.`id` = `products_categories`.`product_id` left join `product_stocks` on `products`.`id` = `product_stocks`.`product_id` left join `brands` on `brands`.`id` = `products`.`brand_id` left join `product_medias` on `product_medias`.`product_id` = `products`.`id` and `product_medias`.`cover` in (1, 0) left join `categories` on `products_categories`.`category_id` = `categories`.`id` left join `specific_prices` on `specific_prices`.`product_id` = `products`.`id` and (`specific_prices`.`from` = '0000-00-00 00:00:00' OR '2016-11-14 09:12:44' >= `specific_prices`.`from`) = where `categories`.`name` = Special Price and `products`.`active` = 1 and `products`.`deleted_at` is null group by `products_categories`.`product_id` order by `products_categories`.`id` desc limit 10

左连接specific_prices后有相同的符号,也没有追踪'特价'作为字符

0 个答案:

没有答案