Yii Framework Forum: Relazioni Tra 3 Tabelle E Vista Corrispondente - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Relazioni Tra 3 Tabelle E Vista Corrispondente Rate Topic: -----

#1 User is offline   Igis 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 20-November 12

Posted 20 November 2012 - 09:01 AM

Ciao a tutti,
sono nuovo del forum e "di Yii" e mi sto appassionando sempre più a questo framework. Sto avendo un problema con le viste le relazioni (immagino sia l'ennesimo topic sull'argomento) ma non sono riuscito a trovare una soluzione e pertanto confido nella vostra esperienza al riguardo sperando che possa essere utile a qualche altro novellino che si accinge a provare questo fw. :)
Il mio db è costituito da 3 tabelle:
  • Clienti
  • Medici
  • Referti


in particolare:

Medici(1) --> (molti) Clienti (1) ---> (molti) Referti

e le chiavi sono

id_medico ---> Clienti.id_medico
Clienti.id ---> Referti.id_cliente

PS: in allegato un img.

Le relazioni sono create correttamente (credo) sia a livello di db (InnoDB) che a livello logico all'interno del fw. In particolare per la tabella "Clienti" sono definite (nel Model Clienti) come segue:

public function relations()
{
	// NOTE: you may need to adjust the relation name and the related
	// class name for the relations automatically generated below.
	return array(
		'idMedico' => array(self::BELONGS_TO, 'MediciBase', 'id_medico'),
		'refertis' => array(self::HAS_MANY, 'Referti', 'id_cliente'),
	);
	
}


Nella vista admin, ho una CGridView con l'elenco dei clienti, ma vorrei visualizzare anche le informazioni relative al medico associato a ciascun cliente. Per ora ho fatto cosi:

$this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'clienti-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'id',
		'nome',

		... 

		'idMedico.cognome::Medico', //Questa è la riga inserita
		
		...
		array(
			'class'=>'CButtonColumn',
		),
	),
)); ?>


La relazione funziona correttamente, ma non so se è il procedimento corretto. Devo modificare in questo modo tutte le viste in cui voglio far comparire campi di un'altra tabella relazionata? E poi, come faccio a fare in modo che il campo "cognome" del Medico sia cliccabile in modo da reindirizzare alla pagina di dettaglio del medico?

Grazie in anticipo per le risposte e scusate la lunghezza del post.

Attached File(s)


0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users