[Symfony2] récupérer les idlivre d'un array

Petit nouveau ! | 2 Messages

08 mars 2012, 18:15

Bonjour,

Je suis en train de me casser la tête sur un nouveau problème pour récupérer id d'un livre
voici le résultat de ma requête afficher en mode var_dump
<?php 

array
  0 => 
    object(LGB\BourseLivresBundle\Entity\Livre)[260]
      private 'idlivre' => int 101
      private 'discipline' => null
      private 'titre' => string 'CLARIDAD' (length=8)
      private 'editeur' => null
      private 'codeEan' => string '9782904218231' (length=13)
      private 'prixPublic' => null
      private 'prixReprise' => null
      private 'prixVente' => null
      private 'quantiteTotale' => null
      private 'quantiteSortie' => null
      private 'plusEdite' => null
      private 'nonRepris' => null
      private 'classeclasse' => 
        object(Doctrine\ORM\PersistentCollection)[265]
          private 'snapshot' => 
            array
              ...
          private 'owner' => 
            &object(LGB\BourseLivresBundle\Entity\Livre)[260]
          private 'association' => 
            array
              ...
          private 'em' => 
            object(Doctrine\ORM\EntityManager)[309]
              ...
          private 'backRefFieldName' => string 'livrelivre' (length=10)
          private 'typeClass' => 
            object(Doctrine\ORM\Mapping\ClassMetadata)[259]
              ...
          private 'isDirty' => boolean false
          private 'initialized' => boolean false
          private 'coll' => 
            object(Doctrine\Common\Collections\ArrayCollection)[266]
              ...
  1 => 
    object(LGB\BourseLivresBundle\Entity\Livre)[261]
      private 'idlivre' => int 103
      private 'discipline' => null
      private 'titre' => string 'Algo Mas 1ere' (length=13)
      private 'editeur' => null
      private 'codeEan' => string '9782701155388' (length=13)
      private 'prixPublic' => null
      private 'prixReprise' => null
      private 'prixVente' => null
      private 'quantiteTotale' => null
      private 'quantiteSortie' => null
      private 'plusEdite' => null
      private 'nonRepris' => null
      private 'classeclasse' => 
        object(Doctrine\ORM\PersistentCollection)[210]
          private 'snapshot' => 
            array
              ...
          private 'owner' => 
            &object(LGB\BourseLivresBundle\Entity\Livre)[261]
          private 'association' => 
            array
              ...
          private 'em' => 
            object(Doctrine\ORM\EntityManager)[309]
              ...
          private 'backRefFieldName' => string 'livrelivre' (length=10)
          private 'typeClass' => 
            object(Doctrine\ORM\Mapping\ClassMetadata)[259]
              ...
          private 'isDirty' => boolean false
          private 'initialized' => boolean false
          private 'coll' => 
            object(Doctrine\Common\Collections\ArrayCollection)[211]
              ...

?>
Moi je souhaiterais récupérer l’élément de idlivre pour la case 0 la case 1 etc ...

Merci

sterrien
Invité n'ayant pas de compte PHPfrance

14 mai 2012, 09:23

J'imagine que ton objet Livre possède une methode getId.
Si ta liste est un Array :
array_walk($liste, function($e){return $e->getId();});

Si ta liste est un ArrayCollection :
$liste->map(function($e){return $e->getId();})->toArray();

(J'suis pas sur à 100% de la syntaxe, mais l'idée est là)