Symfony2, Lære 2: getResult Object

stemmer
5
$posts = $em->find('Application\BlogBundle\Entity\Post',1);
print_r ($posts);

Hvorfor jeg fikk den?

Barii\BlogBundle\Entity\Post Object ( [id:Barii\BlogBundle\Entity\Post:private] => 1 [title:Application\BlogBundle\Entity\Post:private] => something [body:Application\BlogBundle\Entity\Post:private] => content  )

i stedet for en enkel matrise som dette:

array ( [id] => 1,
        [title] => something,            
        [body] => content  )

Jeg bruker den med Symfony 2.

Publisert på 14/05/2011 klokken 19:32
kilden bruker
På andre språk...                            


1 svar

stemmer
9

Du har et par alternativer her. Så vidt jeg vet, kan du ikke finne resultater som arrays fra foretakets repositories som standard. I stedet kan du gjøre ett av to ting:

Først kan du implementere en toArray()metode på din enhet objekt (kanskje gjennom en kartlagt super ) som bare returnerer en rekke egenskaper.

For det andre kan du bruke Lære Query Language å trekke den informasjonen du trenger for å bruke getArrayResult()metoden, kanskje noe sånt som dette:

$query = $em->createQuery('SELECT p FROM Application\BlogBundle\Entity\Post p WHERE p.id=:pid');
$query->setParameter('tid', $postId);
$result = $query->getArrayResult(); // shortcut for $query->getResult(Query::HYDRATE_ARRAY);

Mer detaljert dokumentasjon på DQL kan bli funnet her .

Svarte 15/05/2011 kl. 01:59
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more