у меня две сущности
class Orders{
/**
* @ORM\OneToMany(targetEntity=Positions::class, mappedBy="ord",cascade={ "remove",
"persist"})
*/
private $positions;
}
class Positions{
/**
* @ORM\ManyToOne(targetEntity=Orders::class, inversedBy="positions")
* @ORM\JoinColumn(name="ord",referencedColumnName="guid",onDelete="CASCADE")
*/
private $ord;
}
при попытке удалить заказ
class OrdersRepository{
public function delOrder(){
....
$this->em->remove($order);
$this->em->flush();
}
}
, возникает ошибка:
A new entity was found through the relationship 'App\Entity\Positions#ord' that was not configured to cascade persist operations for enti
ty: App\Entity\Orders@7804. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist
this association in the mapping for example @ManyToOne(..,cascade={"persist"}). If you cannot find out which entity causes the problem implement '
App\Entity\Orders#__toString()' to get a clue.
у меня же стоит, но не работает...
Как только поставлю в функцию удаления заказа:
class OrdersRepository{
public function delOrder(){
....
$this->em->remove($order);
$this->em->flush();
$this->em->clear(); //?????? верно ли, почему помогло?
}
}
ошибка пропадает , и почему? честно, подсмотрела ответ
там, но не поняла почему, и верно ли?