Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][Doctrine] Behavior SoftDelete, Nie działa kaskadowe usuwanie rekordów
Cysiaczek
post
Post #1





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Cześć,

Próbuję wraz ze współpracownikiem zmusić ten bahevior do kasowania rekordów zależnych w relacji 1-n, gdzie n to obiekty Photo.
Niestety, Doctrine sobie z tym nie radzi. Albo w ogóle nie oznacza Photo jako skasowane, albo błędnie wywołuje zapytanie updatujące te wiersze:
  1. UPDATE photo SET deleted_at = '2010-03-29 13:56:51', updated_at = '2010-03-29 13:56:51' WHERE id = '1'


Gdzie zamiast id powinno być gallery_id (ma to wskazane w schama.yml)

Czy ktoś zna rozwiązane, najlepiej Doctrine-way - a już w ogóle najlepiej patcha, bo googlam googlam i nic sensownego nie znajduję, na ircach też na razie cisza. Nadmienię, że próbowałem wszystkich chyba kombinacji w schemie. DQL_CALLBACK jest ustawione.
Symfony 1.4.3 i Doctrine 1.2

schema.yml
Kod
Gallery:
  actAs:
    Timestampable:
    SoftDelete:
  columns:
    name:
      type: string(255)
  relations:
    Photo:
      local: id
      foreign: gallery_id
      foreignType: many
      cascade: [delete]
    
Photo:
  actAs:
    Timestampable:
    SoftDelete:
  columns:
    name:
      type: string(255)
    gallery_id:
      type: integer
  relations:
    Gallery:
      onDelete: CASCADE
      local: gallery_id
      foreign: id
      foreignType: one


Pozdrawiam

--edit - chyba fixed, ale jeszcze sprawdzam, potem dam rozwiązanie.
Powód edycji: [Cysiaczek]:


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 20:02