Frage

Was ist die Methode zu speichern und viele zu viel Beziehung in Yii-Framework zu aktualisieren?

Andere Tipps

Wenn Sie ein Modell für die Tabelle zwischen den beiden Haupttabellen zu erstellen, ist Ihre einzige Option DAO verwenden (Database Access Object) und geben Sie SQLs mit.

Haben Sie einen Blick auf, wie Blog-Demo erfüllt diese Aufgabe.

Verwendung MANY_MANY Beziehung Typ Setup viele zu viele Verbindung zwischen Models (Ein assoziatives Tabelle benötigt wird, um eine viele-zu-viele-Beziehung in einer Eins-zu-viele-Beziehungen zu brechen) Und jetzt können Sie alle relationalen Funktionen von Active Datensätze verwenden

Yü-Framework - The Definitive Guide to Yii: Arbeiten mit Datenbanken-Relational Active Record

Die folgende Erweiterung tut, was Sie wollen ... Yü-Framework - Erweiterung: cadvancedbehavior

Eine wichtige Sache zu beachten: Bei jedem Update löscht die Erweiterung alle bisherigen Rekorde und schafft neue. So würde ich es nicht benutzen, wenn die intermediatry Tabelle zusätzliche Daten außer dem Fremdschlüssel enthält.

Sie können, dass in mysql level..by einrichten, um relationale Sicht in phpMyAdmin unter jedem Tisch gehen und die notwendige relationale condition..and Verwendung MANY_MANY in der Modellklasse innerhalb Beziehungen bieten ..

Die Frage ist zu allgemein.

Normalerweise Datenkomponenten mit vielen zu vielen Beziehungen erscheinen nacheinander und unabhängig. So brauchen Sie nur einen Einsatz Aktion nach dem anderen zu tun.

Wenn Ihre Beziehung abhängig Update benötigt sollten Sie Benutzer SQL-Trigger auf der Datenbank-Ebene . Das wird die Integrität der Daten gewährleisten und eine sehr gute Trennung in Geschäftslogik der Anwendung geben.

CREATE TRIGGER some_trigger
    AFTER UPDATE ON some_table
    ...
END IF;

ähnliche Weise ist relationale Daten in einem logischen Modell auf PHP Ebene (und z.B. zu manipulieren mit 2-3 AR-Modellen gibt) und emulieren, um incapsulate SQL löst Logik darin.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top