Скажем, у меня есть следующие классы:Как объединить удаление объектов в отношениях ManyToMany в Doctrine 2?
class Store
{
/**
* @ManyToMany(targetEntity="PaymentMethod")
*/
protected $paymentMethods;
}
class PaymentMethod
{
}
Когда мы удалить (или просто отключить, без фактического удаления из базы данных) в PaymentMethod
, мы хотели бы, что это paymentMethod
получает удалены из всех Store::$paymentMethods
коллекций.
До сих пор мы использовали необработанные запросы SQL на столе перехода для этого:
DELETE FROM StorePaymentMethod WHERE paymentMethodId = ?
Есть ли способ сделать это в Учении, предпочтительно в DQL?
позвольте мне получить это прямо. вы хотите удалить удаленные способы оплаты из списка в классе Store? удаление его из БД не приведет к его удалению из списка. – jere
Если это много, вы можете не просто установить коллекцию '$ stores' в' PaymentMethod' в пустую коллекцию и сохранить ее? Вам нужно будет аннулировать все объекты «Store' в памяти, чтобы гарантировать, что их взаимные ссылки не сохраняют записи. Хотя в идеальном мире методы доступа, которые вы пишете для выполнения пустого, будут проходить через «Магазины», удаляя взаимные ссылки. – Orbling