![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 22.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam klase Color w jednym z składników jest obiekt klasy Image
tabele w bazie: Color color_id | color_name Image image_id | image_title | image_files | image_description img_for_color imageId | colorId color_for_product colorId | productId W bazie znajdują się jeszcze inne tab np. product, img_for_product itd. Mój problem dotyczy usuwania obiektów, mianowicie czy podczas usuwania obiektu 'color' do którego są przypisane obiekty 'image' usuwać: 1. Tylko obiekt color (Delete FROM color WHERE color_id = xxx); 2. Obiekt color i wszystkie przypisane do niego zdjęcia (DELETE FROM color AS col LEFT OUTER JOIN img_for_color AS ifc ON col.color_id = ifc.colorId LEFT OUTER JOIN images AS img ON ifc.imagesId = img.image_id WHERE col.color_id = xxx) P.S - usuwać rekordy z tab. color_for_product czy to podczas usuwania obiektu typu 'product', - w przypadku usuwania również obiektów image usuwać powiązane z nimi zdjęcia, a może najpierw sprawdzać czy owe zdjęcia nie są przypisane jeszcze do innych obiektów?? Będę wdzięczny za opinie Ten post edytował bodzio_sosna 23.07.2011, 17:55:06 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Utożsamianie usuwania obiektu z usuwaniem wiersza w bazie to nieporozumienie i stanowczo odradzam Ci robienie takiego powiązania. Inaczej żadne dane w bazie nie przetrwają końca pracy skryptu (IMG:style_emoticons/default/smile.gif) . Usuwanie powinieneś realizować poprzez jawne żądanie "odpięcia" obiektu od wiersza w bazie:
Kod $entityManager->delete($object);
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 22.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Może inaczej,
poza wspomnianymi klasami color image mam jeszcze ColorMenager i ImageMenager itd.
do których odwołuje się w następujący sposób
Ten post edytował bodzio_sosna 24.07.2011, 08:55:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.09.2025 - 09:44 |