[RISOLTO] Problemi nel salvare model differenti da un controller unico


(andrea.manca@gmail.com) #1

Ciao a tutti,

Mi sto divertendo molto con questo framework e sto sviluppando un’applicazione per la protezione civile.

Il problema è che non riesco ad effettuare il save() dei vari model in una action di un altro controller.

Spiego meglio all’interno del controller evento devo aggiornare e dettare null l’ID evento nelle tabelle di squadre e veicoli creato tutto compreso di foreach per l’aggiornamento di tutte le squadre e veicoli nessun errore ma le tabelle non vengono aggiornate.

Mi sapreste indicare il perché? O magari darmi una mano?


(Fabrizio Caldarelli) #2

Ciao Andrea, se hai models di natura diversa da salvare contemporaneamente, prima devi salvare il model della tipologia base (mi sembra sia evento) e poi tutti gli altri, perché negli altri immagino ci sia un riferimento all’evento.

Fai tutto all’interno di una transazione così se dovesse fallire, falliràlanno tutte le modifiche anche quelle che eventualmente dovessero essere andate a buon fine (https://www.yiiframework.com/doc/api/2.0/yii-dB-transaction)


(Maxxer) #3

oltre a quanto detto da Fabrizio aggiungerei di controllare sempre l’esito della save(): se torna false significa che c’è stato un errore, e dalla getErrors() dovresti poter vedere qual è.


(andrea.manca@gmail.com) #4

Grazie Fabrizio e Maxxer,

sono riuscito a risolvere controllando che effettivamente tutti i campi fossero valorizzati correttamente prima dei vari save(). Non sono riuscito a fare il getErrors() ma ho utilizzato il Var_Dump() in un

 tag seguito da un die() per bloccare eventuali esecuzioni indesiderate.

Grazie ancora