J'essaie d'utiliser une requête SQL pour obtenir des données de ma base de données dans le modèle d'un projet symfony.symfony obtenir des données du tableau
ma requête:
SQL:
SELECT l.loc_id AS l__loc_id, l.naam AS l__naam, l.straat AS l__straat,
l.huisnummer AS l__huisnummer, l.plaats AS l__plaats, l.postcode AS l__postcode,
l.telefoon AS l__telefoon, l.opmerking AS l__opmerking, o.org_id AS o__org_id, o.naam AS o__naam
FROM locatie l
LEFT JOIN organisatie o
ON l.org_id = o.org_id
Ceci est généré par ce DQL:
DQL:
$this->q = Doctrine_Query::create()
->select('l.naam, o.naam, l.straat, l.huisnummer, l.plaats, l.postcode, l.telefoon, l.opmerking')
->from('Locatie l')
->leftJoin('l.Organisatie o')
->execute();
Mais maintenant, lorsque je tente d'acces de ces données dans le modèle soit faire:
<?php foreach ($q as $locatie): ?>
<?php echo $locatie['o.naam'] ?>
ou
<?php foreach ($q as $locatie): ?>
<?php echo $locatie['o__naam'] ?>
j'obtiens l'erreur de symfony:
500 | Internal Server Error | Doctrine_Record_UnknownPropertyException
Unknown record property/related component "o__naam" on "Locatie"
Est-ce que quelqu'un sait ce qui se passe mal ici? Je ne sais pas comment appeler la valeur du tableau si les noms des deux requêtes ne fonctionnent pas.
Salut, merci pour votre aide, je ne peux pas le faire fonctionner, si j'essaye votre forfon symfony trows encore une erreur: propriété inconnue d'enregistrement/composant lié "Locatie" sur "Locatie" j'ai actuellement la question dans mon action. – iggnition
si je supprime la première ligne et juste essayer la deuxième (organisation) je montre en effet correctement le bon nom, mais je reçois un avis/avertissement: Avis: Essayer d'obtenir la propriété de non-objet dans // emplacement du fichier // – iggnition
Je vous conseille de déplacer la requête vers votre modèle Locatie et d'essayer de cette façon - en utilisant la 2ème partie de ma réponse. Faites-moi savoir si vous voulez un exemple :-) Sinon, essayez var_dump() sur les objets ($ obj) et vous verrez comment il est structuré. – richsage