Bonjour experts: J'ai un problème pour construire une requête pour extraire les détails du document qui a été référencé en utilisant 'referenceMany'. Voici la configuration exemple du codesymfony mongodb odm referenceMany
class FoodItem{
/**
* @MongoDb\Id
*/
protected Id;
/**
* @MongoDb\field(type="string")
*/
protected name;
/**
* @MongoDb\field(type="float")
*/
protected calories;
/**
* @MongoDb\ReferenceMany(targetDocument="FoodItem", storeAs="id")
*/
protected $bestEatenWith = array();
}
L'idée est de 1 FoodItem peut être bestEatenWith autres FoodItems donc « bestEatenWith » est un tableau de « id appartenant au même « document FoodItem ».
La requête I utilisée est la suivante -
$qb = $dm->createQueryBuilder('AppBundle:FoodItem')
->select("name", "bestEatenWith", "nutrition")
->eagerCursor(true)
->hydrate(false);
$query = $qb->getQuery();
$result = $query->execute();
Le résultat que je reçois est ensuite affiché en utilisant le modèle Twig, et je peux afficher dans Brindille, le « nom » et « nutrition », mais je reçois ' bestEatenWith « comme un tableau de » Id de
question 1: Comment puis-je faire analyser par le résultat de $ en utilisant PHP et accéder au « Id de contenu dans le tableau de « bestEatenWith »?
Question 2: Puis-je obtenir quelque chose comme 'bestEatenWith.name' dans une seule requête?