2017-07-20 65 views
0

數據庫表我有五大產品使用數組值來選擇laravel

此有序陣列
foreach ($bestsellers as $item) { 
     $data = json_decode($item->order_details, true); 
     $product_ids[] = key($data); 
} 
     arsort($product_ids); 
     $three = array_unique(array_slice($product_ids, 0, 5, true)); 
     print_r($three); 

結果是

Array 
(
    [0] => 1 
    [1] => 2 
    [2] => 3 
    [3] => 4 
    [4] => 5 
) 

1,2,3,4,5是產品的ID。是否可以在產品表的查詢中使用此值,以便我可以在頁面上顯示有關產品的更多信息。不只是身份證。

喜歡的東西

Product::where('product_id', $value); 

更新

$best = Product::whereIn('product_id', $three)->get(); 

foreach($best as $info) 
{ 
    dd($info->title); 
} 

回答

1

是的,你應該使用whereIn數組。實際上,whereIn將第二個參數作爲指定列的值數組。

Product::whereIn('product_id', $value); 

whereIn()

的其中方法驗證一個列的值是給定的數組中包含 :

+0

我是否需要另外循環來獲取值還是可以使用它像'Product :: whereIn('product_id',$ product_ids);'? – Ivan

+0

不需要使用循環,'''whereIn'''檢查數組中的所有值 –

+0

我已更新我的問題。這隻返回一個結果。這是爲什麼? – Ivan