In yii2, come posso salvare più record correlati in db in una singola chiamata di salvataggio e una singola transazione. Ho due tabelle:Yii2 salva i record correlati in una singola chiamata di salvataggio nella singola transazione
User - id, name
UserAddress - id , user_id , city
tabella utente ha uno a molti relazione al tavolo UserAdress
Quello che voglio fare è:
UserAddress ua = new UserAddress();
ua.city = "fff"
User u = new User();
u.name = "test";
u.userAddress = new Array(ua);
u.save();
chiamando risparmiare sui utente deve salvare utente e useraddress con user_id impostato su user.id pure
sia l'inserto sia in singola transnazionale? –
@GauravSingla modificato. Ora sì. –
Si sta utilizzando il metodo ['link()'] (http://www.yiiframework.com/doc-2.0/yii-db-baseactiverecord.html#link() -detail) nell'esempio su due nuovi attivi creati record. Tuttavia, nell'articolo "[Salvataggio delle relazioni] (http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#saving-relations)" nei documenti di Yii2 c'è un'informazione: "_Nota: tu non può collegare due istanze di record attivo appena create_ "e l'esempio mostra solo il collegamento di un nuovo sottomodello a un modello master esistente. Sembra che la tua soluzione non funzioni o che ci sia un bug nei documenti di Yii2. Hai provato la tua risposta? – trejder