Witam,
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:
  1. Item:
  2. columns:
  3. name: { type: string(255), notnull: true, unique: true }
  4. ItemPhoto:
  5. columns:
  6. item_id: {type: integer, notnull: true}
  7. img: { type: string(255) }
  8. caption: {type: string(255) }
  9. relations:
  10. Item: { local: item_id, foreign: id, foreignType: many, foreignAlias: Photos, onDelete: CASCADE}


metoda usuwająca z ItemPhoto.class.php
  1. public function delete(Doctrine_Connection $conn = null) {
  2.  
  3. $plik = $this->getImg();
  4. unlink(sfConfig::get('sf_web_dir') . '/uploads/items/' . $plik);
  5. unlink(sfConfig::get('sf_web_dir') . '/uploads/items/thumbnail/' . $plik);
  6.  
  7. return parent::delete($conn);
  8. }