Merci pour ta réponse, en fait je teste des enregistrements où tous
les champs sont renseignés.
Je devrais donc bien avoir qqe chose au bout de mon $news-
>getNewsPlace()->getTitle().
Je viens de revérifier les liaisons sur les tables, elle sont bien
identiques entre (news->news_topic_id)->(news_topic->id) et (news-
>news_place_id)->(news_place->id)
Je vois pas où je me plante... Je continue à fouiller !
Le 26 mai 07 à 12:36, MackerT a écrit :
>
> Daccord donc y'a pas de problème, c'est juste qu'il n'y a pas de
> liaison dans ta table sur certain enregistrement...
>
> Avant de faire :
> $news->getNewsPlace()->getTitle()
>
> Tu doit vérifier que tu récupère bien un eregistrement :
>
> $topic = $news->getNewsPlace();
> if (!empty($topic))
> echo $topic->getTitle();
> else
> // Traitement si pas de liaison
>
> Voila... :D
>
>
> On 26 mai, 11:41, Alex <[EMAIL PROTECTED]> wrote:
>> La fonction existe bien mais ne renvoie rien, c'est bien ça.
>>
>> On 25 mai, 20:38, MackerT <[EMAIL PROTECTED]> wrote:
>>
>>> sur : $news->getNewsPlace() c'est la fonction qui n'existe pas ou
>>> c'est le résultat qui est vide ?
>>
>>> On 25 mai, 19:52, Alex <[EMAIL PROTECTED]> wrote:
>>
>>>> Bonjour tous le monde,
>>
>>>> Je découvre avec grand plaisir symfony au travers de la
>>>> construction
>>>> d'un backend pour news multilingue.
>>
>>>> Dans la liste des news j'ai 3 colonnes avec des clés étrangères
>>>> user_id, news_topic_id et news_place_id.
>>>> J'ai donc utilisé la méthode des partial fields (http://
>>>> www.symfony-
>>>> project.com/book/trunk/14-Generators) pour afficher le contenu
>>>> correspondant :
>>
>>>> - j'accède correctement à l'objet issue de news_topic_id :
>>>> _news_topic_link (generator.yml) et le template correspondant
>>>> (_news_topic_link .php) avec la vue echo $news->getNewsTopic()-
>>>>> getImage(); OK pour celui-ci...
>>
>>>> - même cas de figure a priori pour accéder à l'objet relatif à
>>>> news_place_id :
>>>> _news_place_link (generator.yml) + template
>>>> (_news_place_link .php),
>>>> sauf qu'ici mon objet $news->getNewsPlace() est vide, donc $news-
>>>>> getNewsPlace()->getTitle() n'existe pas...
>>>> J'ai vérifié mon schema (innoDB), reconstruit mes modèles, mes
>>>> modules, vidé mon cache, mais rien n'y fait, la liaison ne se
>>>> fait pas.
>>
>>>> - La FK user_id devrait me permettre d'accéder aux infos sur
>>>> l'auteur
>>>> de la news, j'utilise sfGuard pour la gestion des utilisateurs,
>>>> j'ai donc paramétré le schema comme indiqué sur http://
>>>> trac.symfony-
>>>> project.com/trac/wiki/sfGuardPlugin ...
>>>> Mais pour le moment $news->getUser() dans la vue correspondante
>>>> n'existe pas (pas eu le temps d'approfondir encore)
>>
>>>> Quelqu'un a-t-il eu ce genre de souci ?
>>>> Merci beaucoup pour votre aide...
>>
>>>> -------------------------------------------------------------------
>>>> -----
>>>> -------
>>
>>>> Extrait du generator.yml
>>
>>>> generator:
>>>> class: sfPropelAdminGenerator
>>>> param:
>>>> model_class: News
>>>> theme: default
>>>> list:
>>>> title: News list
>>>> layout: tabular
>>>> display: [id, _news_topic_link, _user_link,
>>>> =title_i18n_en, _news_place_link]
>>
>>>> -------------------------------------------------------------------
>>>> -----
>>>> -------
>>
>>>> Voici l'extrait de mon schema :
>>
>>>> news:
>>>> _attributes: { phpName: News }
>>>> id:
>>>> user_id: { type: integer, index: index }
>>>> news_topic_id:
>>>> news_place_id:
>>
>>>> news_i18n:
>>>> _attributes: { phpName: NewsI18n }
>>>> title: varchar(255)
>>>> text: longvarchar
>>
>>>> news_place:
>>>> _attributes: { phpName: NewsPlace }
>>>> id:
>>>> culture: { isCulture: true, type: varchar, size: 7,
>>>> required: true, primaryKey: true }
>>>> title: varchar(255)
>>
>>>> news_topic:
>>>> _attributes: { phpName: NewsTopic }
>>>> id:
>>>> image: varchar(100)
>>
>>>> news_topic_i18n:
>>>> _attributes: { phpName: NewsTopicI18n }
>>>> title: varchar(255)
>>
>>>> -------------------------------------------------------------------
>>>> -----
>>>> -------
>>
>>>> Alex Druhet
>>>> [EMAIL PROTECTED]
>
>
> >
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr"
de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [EMAIL PROTECTED]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---