2016-08-12 84 views
-1

我已经以下对象数组:独特上的对象阵列 - Laravel 5.0

array:6 [▼ 
    0 => {#445 ▼ 
    +"prod_id": "276" 
    +"prod_name": "Vanish" 
    +"prod_code": "B-V-001" 
    +"prod_price": "80.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-B-V-001" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "4" 
    +"ord_prd_code": "B-V-001" 
    +"ord_code": "ORD-000000351" 
    +"ord_prd_opt_code": "" 
    } 
    1 => {#498 ▼ 
    +"prod_id": "276" 
    +"prod_name": "Vanish" 
    +"prod_code": "B-V-001" 
    +"prod_price": "80.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-B-V-001" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "4" 
    +"ord_prd_code": "B-V-001" 
    +"ord_code": "ORD-000000350" 
    +"ord_prd_opt_code": "" 
    } 
    2 => {#499 ▼ 
    +"prod_id": "276" 
    +"prod_name": "Vanish" 
    +"prod_code": "B-V-001" 
    +"prod_price": "80.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-B-V-001" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "4" 
    +"ord_prd_code": "B-V-001" 
    +"ord_code": "ORD-000000349" 
    +"ord_prd_opt_code": "" 
    } 
    3 => {#500 ▼ 
    +"prod_id": "272" 
    +"prod_name": "Clear Orchid Pot + Orchid Boon " 
    +"prod_code": "O-013" 
    +"prod_price": "110.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-o-013" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "4" 
    +"ord_prd_code": "O-013" 
    +"ord_code": "ORD-000000348" 
    +"ord_prd_opt_code": "" 
    } 
    4 => {#501 ▼ 
    +"prod_id": "45" 
    +"prod_name": "Coir mulch mat" 
    +"prod_code": "CP-MM-001" 
    +"prod_price": "20.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-cp-mm-001" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "14" 
    +"ord_prd_code": "CP-MM-001" 
    +"ord_code": "ORD-000000348" 
    +"ord_prd_opt_code": "" 
    } 
    5 => {#502 ▼ 
    +"prod_id": "10" 
    +"prod_name": "Biogreen" 
    +"prod_code": "F-Bi-001" 
    +"prod_price": "80.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-f-bi-001" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "5" 
    +"ord_prd_code": "F-Bi-001" 
    +"ord_code": "ORD-000000348" 
    +"ord_prd_opt_code": "" 
    } 
    // and the list continues upto latest 18 results... 
] 

我想从上面的阵列的唯一对象。所以,期望的输出是:

array:4 [▼ 
    0 => {#445 ▼ 
    +"prod_id": "276"    // <== Earlier 3, now 1. 
    +"prod_name": "Vanish" 
    +"prod_code": "B-V-001" 
    +"prod_price": "80.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-B-V-001" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "4" 
    +"ord_prd_code": "B-V-001" 
    +"ord_code": "ORD-000000351" 
    +"ord_prd_opt_code": "" 
    } 
    1 => {#500 ▼ 
    +"prod_id": "272" 
    +"prod_name": "Clear Orchid Pot + Orchid Boon " 
    +"prod_code": "O-013" 
    +"prod_price": "110.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-o-013" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "4" 
    +"ord_prd_code": "O-013" 
    +"ord_code": "ORD-000000348" 
    +"ord_prd_opt_code": "" 
    } 
    2 => {#501 ▼ 
    +"prod_id": "45" 
    +"prod_name": "Coir mulch mat" 
    +"prod_code": "CP-MM-001" 
    +"prod_price": "20.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-cp-mm-001" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "14" 
    +"ord_prd_code": "CP-MM-001" 
    +"ord_code": "ORD-000000348" 
    +"ord_prd_opt_code": "" 
    } 
    3 => {#502 ▼ 
    +"prod_id": "10" 
    +"prod_name": "Biogreen" 
    +"prod_code": "F-Bi-001" 
    +"prod_price": "80.00" 
    +"prod_disc_price": "0.00" 
    +"prod_disc_percent": "0.00" 
    +"image_code": "img-f-bi-001" 
    +"prod_enquiry": "No" 
    +"prod_quantity": "5" 
    +"ord_prd_code": "F-Bi-001" 
    +"ord_code": "ORD-000000348" 
    +"ord_prd_opt_code": "" 
    } 

我有以下代码:

$recentlySoldProducts = DB::table('products') 
     ->join('orders', 'orders.product_id', '=', 'products.id') 
     ->where('products.display', '=', 'Enabled') 
     ->where('products.deleted_at', '=', NULL) 
     ->select(
      'products.id AS prod_id', 
      'products.name AS prod_name', 
      'products.code AS prod_code', 
      'products.price AS prod_price', 
      'products.discount_price AS prod_disc_price', 
      'products.discount_percent AS prod_disc_percent', 
      'products.img_code AS image_code', 
      'products.enquire AS prod_enquiry', 
      'products.quantity AS prod_quantity', 
      'orders.product_code AS ord_prd_code', 
      'orders.order_code AS ord_code', 
      'orders.product_option_code AS ord_prd_opt_code', 
      'orders.id AS order_id', 
      'orders.product_id AS order_product_id' 
     )->groupBy(['order_product_id', 'ord_code']) 
     ->orderBy('orders.id', 'desc')->take(18)->get(); 

我试图实现的是最近销售的产品块。每当下单时,这些产品都会在近期出售。如果1种产品以不同的顺序销售多次,我想合并该产品并将其作为1种产品,而不是重复产品,否则按原样获取订购的产品。

我该怎么做到这一点?谢谢。

我使用Laravel 5.0。*这个应用..

回答

0

您可以在您的产品ID添加GROUP BY,这样你就不会添加任何重复。

使用查询生成器,它看起来像这样:

$recentlySoldProducts = DB::table('products') 
      ->join('...') 
      ->where('...') 
      ->select('...') 
      ->groupBy('products.id') 
      ->orderBy('orders.id', 'desc')->limit(18)->get(); 
+0

好吧..等..让我检查一下,如果这是我所期待的... –