Yii2 - Gestione View con dropDownList

Salve,

ho le seguenti 3 tabelle collegate ovvimmente tra di loro con relazioni 1 a molti.

Ho creato la mia View Persone e gestito le tabelle Provincia e Città con due dropDownList correlate seguento

l’essempio trovato in rete

Il Tutto sembra funziona abbastanza bene.

La cosa che non capisco è nella fase di modifica della view la dropDownList conle province non risulta selezionata sul valore corrispondente a cui è associata la citta salvata precedentemente nel database.

Inoltre vorrei sapere ma in questi casi nella view devo avere 2 model ? Cioè uno per gestire i dati di Persona e un’altro per gestire Provincia?

Grazie

Persona


| Persona_id |

| Nome |

| Cognome |

| Citta_id |


Citta


|Citta_id |

|Citta |


Provincia


|Provincia_id |

|Provincia |


Posta il contenuto della view

Ciao Fabrizio,

l’ho modificata e adesso sembra funzionare. Puoi vedere se come logica va bene?

Volevo capire è giuste dichiarare provincia_id come proprieta del modello anagrafica?

In questo modo

nella function actionCreate $model->provincia_id=0

e nella function actionUpdate $model->provincia_id=$model->provinciaId ricavato tramite le relazioni

Grazie

<?php

use yii\helpers\ArrayHelper;

use yii\helpers\Html;

use yii\widgets\ActiveForm;

use kartik\datecontrol\DateControl;

use yii\helpers\Url;

?>

<div class="anagrafica-form">

&lt;?php &#036;form = ActiveForm::begin(); ?&gt;


   &lt;div class=&quot;row&quot;&gt;


       &lt;div class=&quot;col-sm-4&quot;&gt;  


             &lt;?= &#036;form-&gt;field(&#036;model, 'nome')-&gt;textInput() ?&gt;


       &lt;/div&gt;


        &lt;div class=&quot;col-sm-4&quot;&gt;  


             &lt;?= &#036;form-&gt;field(&#036;model, 'cognome')-&gt;textInput() ?&gt;


       &lt;/div&gt;


    &lt;/div&gt;


    &lt;div class=&quot;row&quot;&gt;


        


       &lt;div class=&quot;col-sm-6&quot;&gt;


             &lt;?php 


                    &#036;dataProvincia=&#092;app&#092;models&#092;Provincia::listProvince();


                    echo &#036;form-&gt;field(&#036;model, 'provincia_id')-&gt;dropDownList(&#036;dataProvincia,


                                                                                        [


                                                                                        'id'=&gt;'cboProvincia',


                                                                                        'prompt'=&gt;'--- Seleziona ---',


                                                                                        'onchange'=&gt;'


                                                                                                    &#036;.get( &quot;'.Url::toRoute('anagrafica/dependdrop').'&quot;, { id: &#036;(this).val() } )


                                                                                                    .done(function( data )


                                                                                                    {


                                                                                                    &#036;(&quot;select#cboCitta&quot;).html(data);


                                                                                                    });


                                                                                        ']


                                                                                    );


              ?&gt;


       &lt;/div&gt;


       &lt;div class=&quot;col-sm-6&quot;&gt;


            &lt;?php


                &#036;dataCitta=ArrayHelper::map(app&#092;models&#092;Citta::findBySql(&quot;select * from Citta where provincia_id='&quot;.&#036;model-&gt;provincia_id.&quot;'&quot;)-&gt;asArray()-&gt;all(), 'citta_id', 'citta');


                echo &#036;form-&gt;field(&#036;model, 'citta_id')-&gt;dropDownList(


                                                             &#036;dataCitta,           


                                                             [


                                                                 'id'=&gt;'cboCitta',


                                                                 'prompt'=&gt;'--- Seleziona ---',


                                                             ]


                                                             );








             ?&gt; 


        &lt;/div&gt;


    &lt;/div&gt;


    &lt;div class=&quot;form-group&quot;&gt;


      &lt;?= Html::submitButton(&#036;model-&gt;isNewRecord ? 'Salva' : 'Salva modifiche', ['class' =&gt; &#036;model-&gt;isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?&gt;


    &lt;/div&gt;

<?php ActiveForm::end(); ?>

</div>

salve, sto cercando di creare un form inserendo delle droplist per campi le cui tabelle sono relazionate…

ad esempio tabella dipendenti con reparto…

non riesco però a comprendere tale meccanismo di gestione help :( tra l’altro come posso gestire tali contenuti anche in modalità multilingua?

grazie mille ragazzi :rolleyes: