lexen77
            (Antonio Flaminio)
          
          
          
              
              
          1
          
         
        
          Salve a tutti,
ho la seguente situazione.

Adesso dal modello User tramite relazioni vorrei ottenere
il Nome dell’utente,il typo di numero e il numero di telefono. tutto concatenato in un unica stringa.
Tipo
Sig. Rossi Cellulare 3324343455
Sig Esposito Tel Casa 334545
Ho provato con le relazioni e il ciclo for each senzariuscirci.
Grazie mille
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          Nel model User:
    public function getUserTelephones()
    {
        return $this->hasMany(UserTelephone::className(), ['id_user' => 'id_user']);
    }  
Nel model UserTelephone:
    public function getTelephoneType()
    {
        return $this->hasOne(TelephoneType::className(), ['id_telephone_type' => 'id_telephone_type']);
    }  
Quindi, se $modelUser è il model contenente l’utente,
puoi ciclare tutti i telefoni dell’utente in questo modo:
foreach($modelUser->userTelephones as $ut)
{
     echo sprintf("%s %s - Tipo: %s - Telefono: %s", $modelUser->name, $modelUser->surname, $ut->telephoneType->telephone_type, $ut->telephone_number);
}
         
        
        
           
           
           
         
         
            
            
          
       
      
        
          
          
            lexen77
            (Antonio Flaminio)
          
          
          
              
              
          3
          
         
        
          Grazie mille funziona.
Come posso fare per andare a capo per ogni utente.
La stringa viene chiamata all’interno di DetailView.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Aggiungi un <br /> alla fine del pattern, ovvero:
     echo sprintf("%s %s - Tipo: %s - Telefono: %s <br />", $modelUser->name, $modelUser->surname, $ut->telephoneType->telephone_type, $ut->telephone_number);
         
        
        
           
           
           
         
         
            
            
          
       
      
        
          
          
            lexen77
            (Antonio Flaminio)
          
          
          
              
              
          5
          
         
        
          
Ho provato sia con <br> che con \n ma non funziona
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Si perchè verrà encodato.
Prova ad usare la proprietà ‘format’ della riga della DetailView:
...
[
     'format' => 'raw',
     'label' => 'Nome della cella',
     'value' => function() {
          ....
     }
]