我需要把这个数组中的数据保存到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();
}
最佳答案
因为访问数组的顺序不正确,所以会出现该错误。
顺序应该是哪个产品索引,然后是名称、类别或哪个字段。
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();
}