lilli
(Lilli Vex)
January 10, 2013, 9:55pm
1
Ciao a tutti,
come posso salvare/aggiornare dei campi extra nella tabella pivot di una relazione MANY to MANY (sto usando GIIX per creare il model e le operazioni di CRUD)?
Esempio:
UTENTI
id_utente
username
…
ESAMI
id_esame
esame
…
UTENTI_X_ESAMI
id_utente
id_esame
voto (questo è un campo extra chiave primarie)
data (un altro…)
Come gestisco i campi extra nelle view di inserimento/modifica?
Grazie,
Lilli
st4nny
(St4nny)
January 11, 2013, 12:11am
2
quando ho avuto a che fare con relazioni di tipo many_many e come
nel tuo caso avevo dei campi extra sulla relazione… tipo data
ho impostato normalmente le due has_one o belongs_to per i perni della many_many
perchè nell’implementazione di yii non si tiene conto dell’eventualità di avere campi aggiuntivi,
ai quali per l’appunto non puoi accedere.
Hanno interpretato la relazione in modo canonico con i soli due perni.
lilli
(Lilli Vex)
January 11, 2013, 12:37am
3
st4nny:
quando ho avuto a che fare con relazioni di tipo many_many e come
nel tuo caso avevo dei campi extra sulla relazione… tipo data
ho impostato normalmente le due has_one o belongs_to per i perni della many_many
perchè nell’implementazione di yii non si tiene conto dell’eventualità di avere campi aggiuntivi,
ai quali per l’appunto non puoi accedere.
Hanno interpretato la relazione in modo canonico con i soli due perni.
puoi postare un esempio pratico di codice? io ormai ho fatto tutto con giix e creare i modelli e i controller da capo sarebbe un vero delirio per me.
giix nel caso di many_many crea un model per la tabella pivot e due relazioni del tipo:
‘esamis’ => array(self::MANY_MANY, ‘Esami’, ‘utenti_x_esami(id_utente, id_esame)’)
nel model dell’utente
e
‘utentis’ => array(self::MANY_MANY, ‘Utenti’, ‘utenti_x_esami(id_utente, id_esame)’)
nel model dell’esame
poi utilizza una funzione saveWithRelated che però tiene in considerazione solo le pk
grazie,
lilli
markux
(Marco Patania)
January 11, 2013, 7:32am
4
aggiungi in utente ed esame la relazione utenti_esami:
'utenti_esami'=>array(self::HAS_MANY, 'Utenti_x_esami', 'id_utente')