Besoin D'explication Sur Les Relations

Bonjour à toutes et à tous.

Je reviens vers vous pour un nouveau problème.

Je vous met dans le context en vous expliquant un peu mon modèle.

j’ai deux table : “Promotion” et “Specialite” relié entre elle.

Voici les liens que j’ai dans mes modèles :

PROMOTION :

[HTML]

public function relations() {

    return array(


        'specialite'=>array(self::BELONGS_TO, 'Specialite', 'id_specialite'),


        'filiere'=>array(self::HAS_ONE, 'Filiere', 'id_filiere',


        'through'=>'specialite'),


    );


}

[/HTML]

et SPECIALITE :

[HTML]

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(


		'filiere'=>array(self::BELONGS_TO, 'Filiere', 'id_filiere'),


		'promotions'=>array(self::HAS_MANY, 'Promotion', 'id'),


	);


}

[/HTML]

Ce que j’essaie de faire c’est d’afficher l’intituler de la spécialité pour chaque promotion.

Quand je fait ceci j’arrive à afficher mon intitulé :

[HTML]

$test = Promotion::model()->findByPk(60);

echo $test->specialite->intitule

[/HTML]

Le soucis est qu’ici je ne récupère qu’une seul occurence alors qu’il me les faut toutes.

Pour cela, je fait ceci :

[HTML]

$test = Promotion::model()->findAll();

    foreach($test as $tt) {


        echo ($tt->date_debut.'<br/>');


    }

[/HTML]

Ici, toujours aucun prolème.

Maintenant, je souhaite afficher l’intitulé de la spécialité associé à ma promotion.

Voici comment je procède :

[HTML]

$test = Promotion::model()->findAll();

    foreach($test as $tt) {


        echo ($tt->date_debut.' : ');


        echo ($tt->specialite->intitule.'<br/>');


    }

[/HTML]

lorsque je fait cela, j’ai cette erreur :

[HTML]

Trying to get property of non-object

ligne 43 : echo ($tt->specialite->intitule.’<br/>’);

[/HTML]

si quelqu’un pouvoir me faire partager son savoir je lui en serais reconnaissant.

Amicalement

Arteckos

Bonjour,

je répond à ma propre question puisque j’ai résolu l’affaire grâce à KonApaz.

En faite, certain de mes élément (Promotion) ne sont pas associé à une spécialité ou tu du moins sont associé à des spécialités qui n’existe plus. Bonjour la cohérence des données.

Voici le lien vers le POST de solution.

[URL]

http://www.yiiframework.com/forum/index.php/topic/44485-problem-with-relation-model/page__gopid__210723#entry210723

[/URL]

Amicalement

Arteckos