CakePHP hasAndBelongsToMany (HABTM) Löschen Zusammenfügen Aufnehmen
Habe ich eine HABTM-Beziehung zwischen Benutzern und Standorten. Beide Modelle verfügen über die entsprechenden $hasAndBelongsToMany
variable gesetzt ist.
Wenn ich die Verwaltung der Benutzer-Standorte, die ich löschen möchte, wird die Zuordnung zwischen dem Benutzer und den Speicherort, aber nicht die Lage. Deutlich wird dieser Standort könnte die anderen Benutzern gehören. Ich würde erwarten, den folgenden code zum löschen nur die join-Tabelle-Datensatz zur Verfügung gestellt, die HABTM-Verbände, aber beide Datensätze gelöscht.
$this->Weather->deleteAll(array('Weather.id' => $this->data['weather_ids'], false);
Jedoch, ich bin neu bei CakePHP, so bin ich sicher, dass mir etwas fehlt. Ich habe versucht Einstellung cascade auf false und ändern Sie das Modell, um mit Benutzer -, Benutzer->Wetter, Wetter->Benutzer. Kein Glück.
Vielen Dank im Voraus für jede Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht ganz sicher, wie
Weather
ist bezogen auf Ihre Modelle, so werde ich gehen Sie einfach mit dem traditionellen NamenLocationsUser
ist die verknüpfte Tabelle. Dies sollte löschen Sie alle verbindungen zwischen den user mit der id$id
und alle Standorte:Beachten Sie auch, dass Sie fehlt eine schließende Klammer in deinem code-snippet.
$this->User->UsersWeather->deleteAll(array('UsersWeather.weather_id' => $this->data['weather_ids'], 'UsersWeather.user_id' => $this->user['User']['id']))