對(duì)于我的項(xiàng)目,我創(chuàng)建了 2 個(gè)實(shí)體:配方和成分。它們是多對(duì)多關(guān)系。 mysql 架構(gòu)我從控制臺(tái)生成了所有內(nèi)容(實(shí)體和 CRUD)。但是,我無(wú)法保存食譜的成分,“成分”字段不保存任何內(nèi)容,只保存日期和名稱。我嘗試在我的實(shí)體中添加“cascade={”persist”}”,但它不起作用。預(yù)先感謝您的幫助 !成分.php<?phpnamespace App\Entity;use App\Repository\IngredientRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=IngredientRepository::class) */class Ingredient{ /** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $name; /** * @ORM\ManyToMany(targetEntity=Recette::class, inversedBy="ingredients",cascade={"persist"}) */ private $recette; public function __construct() { $this->recette = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getName(): ?string { return $this->name; } public function setName(string $name): self { $this->name = $name; return $this; } /** * @return Collection|Recette[] */ public function getRecette(): Collection { return $this->recette; } public function addRecette(Recette $recette): self { if (!$this->recette->contains($recette)) { $this->recette[] = $recette; } return $this; } public function removeRecette(Recette $recette): self { if ($this->recette->contains($recette)) { $this->recette->removeElement($recette); } return $this; } public function __toString() { return $this->name; }}
2 回答

ABOUTYOU
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
在多對(duì)多關(guān)系中,單向刪除/添加不起作用。對(duì)于這種多對(duì)多關(guān)系,您必須從兩個(gè)實(shí)體調(diào)用刪除/添加方法 $recette->addIngredient($ingredients); $Ingredients->addRecettes($recette);

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
應(yīng)該有另一個(gè)名為“ingredient_recipe”的表。多對(duì)多關(guān)系項(xiàng)目將保存在此處。
- 2 回答
- 0 關(guān)注
- 149 瀏覽
添加回答
舉報(bào)
0/150
提交
取消