Hi!
Na nur wenn die Fkt. $this->delete() aufgerufen wird, kann sich der Wert von [ddate:private] ändern, aber wenn ich da ne kontroll ausgabe hinpacke kommt diese nicht, da anscheinend der echo Teil übersprungen oder überschrieben oder sowas wird. :(
Davon ist in deinem Code nichts zu sehen. Ich kann nicht nachvollziehen, was genau abläuft, und kann dir deswegen nur allgemeine Hinweise zum Fehlersuchen geben.
Kontrolausgaben macht man am besten mit var_dump(), denn das zeigt einerseits den Typ des Wertes und andererseits garantiert etwas an. Einige Werte erzeugen mit echo nur einen Leerstring, beispielsweise false oder null. Wichtig zum Fehlersuchen ist auch das auf E_ALL gestellte error_reporting (nebst einem display_errors, das auf on steht).
Wenn etwas "anscheinend" so ist, dann prüf das mit einer Ausgabe. Wenn diese nicht kommt, dann ist vermutlich anders abgezweigt worden, prüfe auch diesen Zweig und die Bedingung ebenso.
Wie gesagt ohne $this->delete() ist alles schick, also richtige ausgaben.
Wenn $this->delete() dann wird alles noch mal gemacht und die Kontrolle überschrieben
Es nochmal zu wiederholen bringt nichts. Du musst einfach hartnäckig Debugging betreiben, sonst wirst du den Fehler nicht finden. Zur Not musst du an alle möglichen und unmöglichen Stellen eine Ausgabe einbauen, so dass du nachvollziehen kannst, in welcher Reihenfolge deine Codeteile ausgeführt werden.
Lo!