obszukałem się google wzdłuż i wszerz szukając pod symfony pod Doctrine itp. może złe zapytania wpisywałem nie wiem ale nie mogłem znaleźć odpowiedzi na to... co mnie troszkę zastanawia czy tylko ja mam taki problem...
a więc standardowa relacja jest obiekt który po relacji ma wiele zdjęć
generalnie wszystko działa malinowo:
dodaje zdjęcia z relacją,
w formularzu po kliknięciu na stworzone linki usuwa ładnie zdjęcia i z bazy danych i pliki
także relacja działa, jak klikam usuń obiekt to usuwa też podlinkowane do niego wpisy w bazie danych więc onDelete: Cascade działa ale nie używa metody delete dla klasy ze zdjęciami czyli robi to chyba tylko baza danych.
Czy jest to normalne i mam wygłówkować żeby po kliknięciu usunięcia obiektu Item usuwało też wszystkie zdjęcia powiązane z nim?
A może mam coś źle czy też jakoś to się da zrobić "jak należy" ?
schema dla lepszego zrozumienia:
Item: columns: name: { type: string(255), notnull: true, unique: true } ItemPhoto: columns: item_id: {type: integer, notnull: true} img: { type: string(255) } caption: {type: string(255) } relations: Item: { local: item_id, foreign: id, foreignType: many, foreignAlias: Photos, onDelete: CASCADE}
metoda usuwająca z ItemPhoto.class.php
public function delete(Doctrine_Connection $conn = null) { $plik = $this->getImg(); return parent::delete($conn); }