[YII 2] Relazioni tra tabelle

Ciao ragazzi,

calcolando che uso Yii2…

io ho lo stesso quesito e non ne riesco ad uscirne fuori… chiedo gentilmente il Vostro contributo.

ho ben o male la stessa situazione iniziale di messema.

Allora … due tabelle :

  • user -

id

username

nome

cognome

  • user_ecapiti -

id

ks_user_id

tipo_recapito

numero_recapito

Creo i due models tramite GII

e nel model User inserisco :





/**

     * @return \yii\db\ActiveQuery

     */

         

 public function relations()

    {

        return array(

            'user_rec'=>array(self::HAS_MANY, 'Recapiti', 'ks_user_id'),

            //'profile'=>array(self::HAS_ONE, 'Profile', 'owner_id'),

        );

    }

 

Nel model UserRecapiti inserisco :




/**

     * @return \yii\db\ActiveQuery

     */

public function relations()

    {

        return array(

            'author'=>array(self::BELONGS_TO, 'User', 'ks_user_id'),

            //s'categories'=>array(self::MANY_MANY, 'Category',

                //'tbl_post_category(post_id, category_id)'),

        );

    }



Adesso devo visualizzare nel form view i recapiti a seconda del tipo…

Esempio avrò :

id: 3

username : admin

Nome : Mario

Cognome: Rossi

Fisso_Casa: 06.123456

Fisso_Ufficio: 06.111222

Cellulare_personale: 333.9879871

Cellulare_uff: 444.1231231

Fax: 111.11111

Email: mariorossi@ita.it

Web: www.mariorossi.it

Queste info mi servono nella view, nell’update e nel create.

Come procedo nella programmazione ???

Grazie a tutti in anticipo.

Grazie alla seguente discussione :

http://www.yiiframework.com/forum/index.php/topic/64518-yii2-problema-relazione-hasmany/

Ringrazio @Antonio FLam

sono riuscito a visualizzare i dettagli dei recapiti associati all’utente tramite questa riga di codice :




  echo sprintf("%s %s - Tipo: %s - Telefono: %s <br />", $modelUser->name, $modelUser->surname, $ut->telephoneType->telephone_type, $ut->telephone_number);



E quindi passo in avanti :D

Ora però visualizzo solo una serie di rige in html e non con lo stesso layout come se fosse un form. (nel file _form.php non ho modificato nulla)

Da quello che ho capito dovrei modificare il file "_form.php" in quanto viene usato sia per visualizzare che per modificare e creare un utente.

Come posso fare ciò ?

Grazie in anticipo.