我需要将此数组中的数据保存到MySQL数据库
0 => {#517 ▼
+"id": 59
+"name": "example_name_1"
+"category": "category_1"
+"price": 100
+"description": "example_description_1"
}
1 => {#516 ▼
+"id": 60
+"name": "example_name_2"
+"category": "category_2"
+"price": 200
+"description": "example_description_2"
}
我试着像这样保存,但是像
这样的错误未定义的索引:名称
for ($idx = 0; $idx < count($products); $idx++)
{
$values = new Product();
$values->name = $products["name"][$idx];
$values->category= $products["category"][$idx];
$values->description = $products['description'][$idx];
$values->price = $products['price'][$idx];
$values->save();
}
答案 0 :(得分:3)
您收到该错误,因为您访问该数组的顺序不正确。
订单应该是产品索引,然后是名称,类别或任何字段。
for ($idx = 0; $idx < count($products); $idx++)
{
$values = new Product();
$values->name = $products[$idx]["name"];
$values->category= $products[$idx]["category"];
$values->description = $products[$idx]['description'];
$values->price = $products[$idx]['price'];
$values->save();
}
或者你可以轻松地使用foreach
作为评论中提到的@VincentDecaux。
foreach ($products as $product) {
$values = new Product();
$values->name = $product["name"];
$values->category= $product["category"];
$values->description = $product['description'];
$values->price = $product['price'];
$values->save();
}