我有与折扣和类别相关联的产品型号;
$products = Product::with('discounts')->with('categories')->get();
然后我根据类别操作产品
foreach ($products as $item) {
if (category_condition) {
$item['new_prod_attribute'] = 'data_cat';
}
if (discount_condition) {
$item['new_prod_attribute1'] = 'data_disc';
}
}
现在我想获得一些选择性数据,例如:
product->id,name,new_prod_attribute,new_prod_attribute1; category->name; discount->offer_name as subset_data
;
你可以使用
map
$productData = $products->map(function ($product) {
$data = [
'id' => $product->id,
'name' => $product->name,
...
'category_name' => $product->categories->name,
];
if (category_condition) {
$data['new_prod_attribute'] = 'data_cat';
}
if (discount_condition) {
$data['new_prod_attribute1'] = 'data_disc';
}
return $data;
});
当你转储
$productData
你拥有所有数据