嗨,我想使用whereIn从一个表中获取数据。
$values = DB::table('attribute_product')->whereIn('value_id' , [1,5])->get();
但我想得到的是有所有[1,5]项的列,而不是只有一个数组项。
我的表格数据。
"attribute_id" : 1 , "product_id" : 1 , "value_id" : 1 "attribute_id" : 12 , "product_id" : 1 , "value_id" : 2 "attribute_id" : 13 , "product_id" : 1 , "value_id" : 3 "attribute_id" : 14 , "product_id" : 1 , "value_id" : 4 "attribute_id" : 1 , "product_id" : 8 , "value_id" : 1 "attribute_id" : 12 , "product_id" : 8 , "value_id" : 5 "attribute_id" : 13 , "product_id" : 8 , "value_id" : 10 "attribute_id" : 14 , "product_id" : 8 , "value_id" : 11我只想返回同时具有value_ids [1,5]的数据。
"attribute_id": 1,
"product_id": 8,
"value_id": 1
"attribute_id": 12,
"product_id": 8,
"value_id": 5
但我上面写的那段代码返回。
"attribute_id": 1,
"product_id": 1,
"value_id": 1
"attribute_id": 1,
"product_id": 8,
"value_id": 1
"attribute_id": 12,
"product_id": 8,
"value_id": 5
你可以使用 Laravel groupBy
$values = DB::table('attribute_product')->orderBy('product_id', 'desc')->whereIn('value_id', [1, 5])->groupBy('value_id')->get();