Symfony 2 kitabının güvenlik bölümünü izliyorum.Çoktan çoğa tablodaki kayıt silme
Tablo USERS
ve GROUPS
ile bir örnek var. , USERS
ve GROUPS
arasında USERGROUPS
arası bir tablo oluşturur ve USERGROUPS
adlı veritabanında bir tablo oluşturur. Benim istediğim
örneğin USERGROUPS
bir kaydı silmek için:
DELETE from USERGROUPS WHERE user_id = 1 and group_id = 1
Ben bir USERGROUPS.php
tablo dosyası olmadığı için bunun nasıl bilmiyorum. DQL kullanma
, örneğin, bunu yapmak mümkün istiyorum:
$em = $this->getDoctrine()->getEntityManager();
$query = $em->createQuery(
'DELETE FROM AcmeStoreBundle:UserGroups ug WHERE ug.user_id = :user
and ug.group_id = :group'
)->setParameter(array('user' => $userid, 'group' => $groupid));
Ben anladınız umarım.
Sonra, bu tablodan nasıl kaldırabilirim?
Ethan her iki taraftan
remove
yöntemleri çağırmak zorunda. Çok teşekkür ederim! Çalıştı :) Neden symfony bu yöntemi otomatik olarak oluşturmadı? Birçok masadan bir şeyleri silmek için çok yaygın bir görev olduğuna inanıyorum. –Evet, her zaman neden symfony'nin de (addMethods oluşturduğundan) yöntemleri kaldırmadığını merak ettim. Memnun kaldım! – Ethan
Bu kullanıcıyla ilgili çoktan çoğa masada 1.000.000 kayıt varsa ve yalnızca birini silmem gerekiyorsa ne olur? Doktrin tüm kayıtları yükleyecek mi? –