je vais vous décrire un peu mon projet histoire que vous compreniez
bien le problème.
voila un morceau du schema.yml qui génère ma BDD:
---
propel:
membre:
_attributes:
idMethod: native
id:
specialite1:
type: INTEGER
foreignTable: specialite
foreignReference: id
specialite2:
type: INTEGER
foreignTable: specialite
foreignReference: id
specialite3:
type: INTEGER
foreignTable: specialite
foreignReference: id
specialite:
_attributes: { phpName: Specialite }
id:
type: INTEGER
foreignTable: specialite_i18n
foreignReference: id
specialite_i18n:
_attributes: { phpName: SpecialiteI18n }
name: varchar(50)
Après avoir généré le CRUD du modules membre je cherche à avoir les
noms de specialités (dans la bonne langue) pour la création/édition/
listing d'un membre et non leur id ...
Est-ce que vous pourriez m'aider à y arriver, merci
----------------------------------------------------------------------------------
propel:
membre:
_attributes: { phpName: Membre }
id:
operateur_id: { type: integer, default: 1, primaryKey:
false, foreignTable: operateur, foreignReference: id, required: true }
specialite1: { type: integer, primaryKey: false,
foreignTable: specialite, foreignReference: id, required: true }
specialite2: { type: integer, primaryKey: false,
foreignTable: specialite, foreignReference: id }
specialite3: { type: integer, primaryKey: false,
foreignTable: specialite, foreignReference: id }
{...}
operateur:
_attributes: { phpName: Operateur }
id:
pseudo: varchar(255)
{...}
specialite:
_attributes: { phpName: Specialite }
id:
specialite_i18n:
_attributes: { phpName: SpecialiteI18n }
name: { type: varchar(255), required: true }
----------------------------------------------------------------------------------
Désolé pour l'indentation, ça passe pas trop bien sous Google
Groups ...
Pour récupérer le nom d'une spécialité dans la liste des membres de
l'interface CRUD je fais :
//Dans Membre.php
public function getSpecialite1Name()
{
return parent::getSpecialiteRelatedBySpecialite1()->getName();
}
//Dans le template listSuccess.php
<?php echo $membre->getSpecialite1Name() ?>
mais ça retourne rien du tout. Pourtant j'ai bien définit une culture
par défaut et elle est bien en place.
"<?php echo $this->getContext ()->getUser()->getCulture () ?>"
retourne bien "fr_FR" d'ailleurs le debuggueur de Symfony l'affiche
bien dans les variables globales.
public function __toString()
{
return $this->getName();
}
ça me retourne une liste d'éléments vides (dans le menu déroulant de
l'édition notament) !
OphyTe a écrit :