PHP 的 Symfony:使用 foreach 从会话中向 table 插入多行
Symfony for PHP: inserting multiple rows to table from session using foreach
我正在编写一个函数来插入一个包含订单项的新订单。这些项目存储在会话中。我需要插入所有项目以使用 Symfony 订购项目 table PHP。
这是我尝试过的:
$cart = $session->get('cart', []);
foreach($cart as $shoesid => $sizes) {
foreach ($sizes as $sizeid => $quantity) {
$oishoe = $this->shoesRepository->findOneBy([
'shoesid' => $shoesid
]);
$oisize = $this->sizesRepository->findOneBy([
'sizeid' => $sizeid
]);
$oi = new Orderitems();
$oi->setOrderid($order);
$oi->setShoesid($oishoe);
$oi->setQuantity($quantity);
$oi->setSizeid($oisize);
}
}
$manager->persist($oi);
$manager->flush();
但它只将最后一个项目插入到我的订单项目中 table。我应该更改哪些代码?如果您需要更多详细信息,请告诉我。
我认为你应该将 $manager->persist($oi)
留在 foreach 循环中,否则你只会保留最后一个值。
将 $manager->flush()
留在循环之外。
我正在编写一个函数来插入一个包含订单项的新订单。这些项目存储在会话中。我需要插入所有项目以使用 Symfony 订购项目 table PHP。
这是我尝试过的:
$cart = $session->get('cart', []);
foreach($cart as $shoesid => $sizes) {
foreach ($sizes as $sizeid => $quantity) {
$oishoe = $this->shoesRepository->findOneBy([
'shoesid' => $shoesid
]);
$oisize = $this->sizesRepository->findOneBy([
'sizeid' => $sizeid
]);
$oi = new Orderitems();
$oi->setOrderid($order);
$oi->setShoesid($oishoe);
$oi->setQuantity($quantity);
$oi->setSizeid($oisize);
}
}
$manager->persist($oi);
$manager->flush();
但它只将最后一个项目插入到我的订单项目中 table。我应该更改哪些代码?如果您需要更多详细信息,请告诉我。
我认为你应该将 $manager->persist($oi)
留在 foreach 循环中,否则你只会保留最后一个值。
将 $manager->flush()
留在循环之外。