关联数组,迭代键和值PHP LARAVEL
Associative array, iterating keys and values PHP LARAVEL
我有这个数组:
array:43 [▼
"ALFA ROMEO" => array:1 [▼
0 => "145"
]
"AUDI" => array:6 [▼
0 => "A1"
1 => "A3"
2 => "A4"
3 => "A5"
4 => "AUDI 80"
5 => "Q3"
]
"BMW" => array:15 [▼
0 => "116I"
1 => "118I"
2 => "318I"
3 => "318IA"
4 => "320I"
5 => "320IA"
6 => "325I"
7 => "328I"
8 => "330I"
9 => "535I"
10 => "X1"
11 => "X3"
12 => "X5"
13 => "X6"
14 => "Z4"
]
]
我想这样做:
获取钥匙(ALFA ROMEO / AUDI / BMW) 并搜索此钥匙在table (brands)中,获取该品牌的id并迭代"ALFA ROMEO" inside数组得到模型 (145) 并插入一个名为 model_car(brand_id, 模型的新 table。对AUDI、BMW等也是如此
我知道这很容易,但我的脑子不行!
谢谢。
尝试下面的代码可能会帮助您实现您想要的。
/* Let $array be the array posted by you. */
foreach ($array as $key => $data) {
/* Fetch brand id by name. Assuming the name field replace it by your own. */
$brand = Brands::where('name', $key)->first();
/* Prepare array of brand id and model to be mass inserted. */
$brandModel = [];
foreach ($data as $i => $model) {
$brandModel[$i]['brand_id'] = $brand->id;
$brandModel[$i]['model'] = $model;
}
ModelCar::insert($brandModel); //Insert into the new table model_car
}
我有这个数组:
array:43 [▼
"ALFA ROMEO" => array:1 [▼
0 => "145"
]
"AUDI" => array:6 [▼
0 => "A1"
1 => "A3"
2 => "A4"
3 => "A5"
4 => "AUDI 80"
5 => "Q3"
]
"BMW" => array:15 [▼
0 => "116I"
1 => "118I"
2 => "318I"
3 => "318IA"
4 => "320I"
5 => "320IA"
6 => "325I"
7 => "328I"
8 => "330I"
9 => "535I"
10 => "X1"
11 => "X3"
12 => "X5"
13 => "X6"
14 => "Z4"
]
]
我想这样做:
获取钥匙(ALFA ROMEO / AUDI / BMW) 并搜索此钥匙在table (brands)中,获取该品牌的id并迭代"ALFA ROMEO" inside数组得到模型 (145) 并插入一个名为 model_car(brand_id, 模型的新 table。对AUDI、BMW等也是如此
我知道这很容易,但我的脑子不行!
谢谢。
尝试下面的代码可能会帮助您实现您想要的。
/* Let $array be the array posted by you. */
foreach ($array as $key => $data) {
/* Fetch brand id by name. Assuming the name field replace it by your own. */
$brand = Brands::where('name', $key)->first();
/* Prepare array of brand id and model to be mass inserted. */
$brandModel = [];
foreach ($data as $i => $model) {
$brandModel[$i]['brand_id'] = $brand->id;
$brandModel[$i]['model'] = $model;
}
ModelCar::insert($brandModel); //Insert into the new table model_car
}