$shops = $this->em->getRepository('models\Shop')->findAll();
Bir dizimi varlıklar ile birlikte verir, ancak varlık olarak diziye ihtiyacım var.Bir sorgunun sonucunu dizi dizisine dönüştürme
Varlıkları bir diziye nasıl dönüştürebilirim?
$shops = $this->em->getRepository('models\Shop')->findAll();
Bir dizimi varlıklar ile birlikte verir, ancak varlık olarak diziye ihtiyacım var.Bir sorgunun sonucunu dizi dizisine dönüştürme
Varlıkları bir diziye nasıl dönüştürebilirim?
Aynı sorunu yaşadım. return get_object_vars($this)
, iç doktrin nesnesini/özelliklerini de dönüştürdüğü için iyi bir çözüm değildir. Bazı araştırmalardan sonra bu sınıfı buldum: EntitySerializer, varlıklarınızdan temiz dizi veya JSON oluşturur ve gereksiz öğeleri kaldırır.Örnekleme, here bulunur. aşağıdaki kodu:
$patientProfile = $this->em->getRepository('Entities\Patientprofile')->findOneByuserid('2222222');
$entitySerializer=new Bgy\Doctrine\EntitySerializer($this->em);
$patientProfile=$entitySerializer->toArray($patientProfile);
Doktrini yapalım sorguları, yürütme zaman döndürülen sonuçların veri türünü değiştirmek bir hidrasyon modunu belirlemenizi sağlar. Bu durumda, Query :: HYDRATE_ARRAY. Bu, depolarda bulunan varsayılan findAll() yönteminde belirtmenize izin vermez. Bunun için kendi DQL'inizi yazmanız gerekecektir.
Eğer diziler olarak entites bir koleksiyon gerekirse: Eğer örneğin bir dizi olarak tek bir varlık gerekiyorsa
$query = $em->createQuery('SELECT u FROM User u');
$entites = $query->execute(array(), Query::HYDRATE_ARRAY);
// If you don't have parameters in the query, you can use the getResult() shortcut
$query = $em->createQuery('SELECT u FROM User u');
$entities = $query->getResult(Query::HYDRATE_ARRAY);
. Belirli numarası:
$query = $em->createQuery('SELECT u FROM User u WHERE u.id = ?1');
$query->setParameter(1, $id);
$entity = $query->getSingleResult(Query::HYDRATE_ARRAY);
Bu yöntemler Query ve AbstractQuery tanımlanır.
Ancak bu, soyut EntityRepository-> findAll() yöntemiyle kullanılmasını olanaksız kılar. –
* varlık olarak varlık * Varlık nasıl görünür ve dizi nasıl görünür? – hakre