Domanda

Qual è il metodo per salvare e aggiornare relazione molti a molti nel quadro Yii?

Altri suggerimenti

A meno che non si crea un modello per la tabella tra le due tabelle principali, l'unica opzione è quella di utilizzare DAO (Database Object Access) e specificare SQLs con esso.

Date un'occhiata a come blog demo realizza questo compito.

uso MANY_MANY tipo di relazione di impostare molti a molti di collegamento tra i modelli (Una tabella associativa è necessaria per rompere una relazione molti-a-molti in relazioni uno-a-molti) E ora è possibile utilizzare tutte le funzioni relazionali di record attivi

Yii Framework - The Definitive Guide di Yii: Lavorare con database relazionale attivo Record

L'estensione seguente fa ciò che vuoi ... Yii Framework - Estensione: cadvancedbehavior

Una cosa importante da notare: Ad ogni aggiornamento, l'estensione cancella tutti i record precedenti e crea di nuovi. Quindi io non lo uso quando la tabella intermediatry contiene dati aggiuntivi diversi dalle chiavi esterne.

è possibile impostare che fino a mysql level..by intenzione di vista relazionale sotto ogni tabella in phpMyAdmin e fornire il necessario uso condition..and relazionale MANY_MANY nella classe del modello all'interno relazioni ..

La domanda è troppo comune.

Di solito i componenti di dati con molti rapporti MOLTI appaiono in sequenza e in modo indipendente. Quindi non vi resta che fare una sola azione di inserimento dopo l'altro.

Se il vostro rapporto ha bisogno di aggiornamento dipendente si dovrebbe utente SQL trigger sul livello di database. Questo candidato dovrà garantire l'integrità dei dati e invia un abbastanza buona separazione logica di business dell'applicazione.

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

Un modo simile è quello incapsula dati relazionali in un modello logico a livello PHP (e ad esempio manipolare con 2-3 modelli AR là) ed emulare SQL trigger logica in esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top