2017-06-29 105 views
0

我有产品ID的数组,我在我的控制器Laravel把产品通过传递ID

public function productsCart(Request $request) 
{ 
    //dd($request->products); 

    foreach ($request->products as $key => $product) { 

     $product = Product::where('id', $product[0])->get(); 

    } 

    return Response::json($product); 
} 

我得到空读取所有属于该ID

{ 
    "products":[1,2,3,4,5,6] 
} 

产品数组作为响应

谢谢

+0

是不是你的对象被覆盖? ('request-> products as $ productId){' –

回答

3

试试这个

public function productsCart(Request $request) 
{ 
    $products = Product::whereIn('id', $request->products)->get(); 

    return Response::json($products); 
} 
+0

感谢您的时间,这只给我一件产品,我希望所有产品都属于'产品'数组中的'id' –

+1

这样取出在这个数组中'$ request-> products'中给出的所有ID。检查此数组中的ID是否正确并存在于表内 –

1

使用whereIn

public function productsCart(Request $request) 
{ 
    $products = Product::whereIn('id', $request->products)->get(); 

    return Response::json($products); 
} 

,或者如果你想循环再

foreach ($request->products as $id) { 

     $product[] = Product::where('id', $id)->get(); 

    }