Bonjour
J'ai uneEntité“ Produits”àlaquelle il best lier(OneToMany)une Collection d'Entités“ Stocks”。
在“产品”中加入“股票经纪人”的惯例。
图特菲伊斯,塞斯马纳的一家“企业”产品基金会和唐纳德斯州的外交使节。
Je n'ai pas d'erreur mais简单,“股票”和“产品”以及“ d'en pasenvoyée基地”中的“必需品”。
以某种方式处理一切美好的事物,以及与之联系起来:
- crée une seconde Collection imbriquée dans le même formulaire,
- fait plusieurs migrations en Base de données et fait le ménage,
- ajouté des champs "created_at" et "updated_at" à toutes mes Entités.
加上一些简单的错误操作,就可以解决所有可能的问题。
J'aiessayéde reprendre la documentation sur les“ Collectionsimbriquées”,j'aiessayédifférentessolutionsproposéessurdifférentesplateformes(dont quelquesvestiges commentess resistent dans mon code)...
其他代码:
Dites-moi si vous voulez des捕获了代码供应商。
“ Prostock” $propsédans l'Entité“ Produits”
/**
* @ORM\OneToMany(targetEntity="App\Entity\Stocks", mappedBy="product", cascade={"persist"}, orphanRemoval=true).
*/
private $stocks;
/**
* @return Collection|Stocks[]
*/
public function getStocks(): Collection
{
return $this->stocks;
}
public function addStock(Stocks $stock): self
{
if (!$this->stocks->contains($stock)) {
$this->stocks[] = $stock;
$stock->setProducts($this);
}
return $this;
}
public function removeStock(Stocks $stock): self
{
if ($this->stocks->contains($stock)) {
$this->stocks->removeElement($stock);
// set the owning side to null (unless already changed)
if ($stock->getProducts() === $this) {
$stock->setProducts(null);
}
}
return $this;
}
“properété”(“产品”)dans l'Entité“ Stocks”
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Products", inversedBy="stocks", cascade={"persist"})
* @ORM\JoinColumn(nullable=false)
*/
private $product;
public function getProduct(): ?Products
{
return $this->product;
}
public function setProduct(?Products $product): self
{
$this->product = $product;
return $this;
}
“产品”负责人La fonction pourcréer
/**
* @Route("/new", name="products_new", methods={"GET","POST"})
*/
public function new(Request $request): Response
{
$product = new Products();
// Ce test fonctionne.
// $stock = new Stocks();
// $stock->setStock(2);
// $stock->setProduct($product);
// $product->getStocks()->add($stock);
$form = $this->createForm(ProductsType::class, $product);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
// trouvé sur Stackoverflow : ne résoud pas le problème.
// $stock = $product->getStocks();
// $product->setStocks(array());
// $entityManager->persist($product);
// $entityManager->flush();
// $product->setStocks($stock);
$entityManager->persist($product);
$entityManager->flush();
return $this->redirectToRoute('products_index');
}
return $this->render('products/new.html.twig', [
'product' => $product,
'form' => $form->createView(),
]);
}
“股票交易所”财务总监的新功能
/**
* @Route("/new", name="stocks_new", methods={"GET","POST"})
*/
public function new(Request $request): Response
{
$stock = new Stocks();
$form = $this->createForm(StocksType::class, $stock);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($stock);
$entityManager->flush();
return $this->redirectToRoute('stocks_index');
}
return $this->render('stocks/new.html.twig', [
'stock' => $stock,
'form' => $form->createView(),
]);
}
“产品”配方中的L'entrée“股票”
->add('stocks', CollectionType::class, [
'entry_type' => StocksType::class,
'entry_options' => ['label' => false],
'allow_add' => true,
'by_reference' =>false,
'allow_delete' => true,
]);