Объект объекта Doctrine для массива

Хочет преобразовать объект entrine объекта doctinary в обычный массив, это мой код до сих пор,

$demo = $this->doctrine->em->find('Entity\User',2); 

Получение объекта объекта,

 Entity\User Object ( [id:Entity\User:private] => 2 [username:Entity\User:private] => TestUser [password:Entity\User:private] => 950715f3f83e20ee154995cd5a89ac75 [email:Entity\User:private] => test@test.com [firm_id:Entity\User:private] => Entity\Firm Object ( [id:Entity\Firm:private] => 16 [company_name:Entity\Firm:private] => TestFirm [company_detail:Entity\Firm:private] => India [created_at:Entity\Firm:private] => DateTime Object ( [date] => 2014-08-01 18:16:08 [timezone_type] => 3 [timezone] => Europe/Paris ) [user:Entity\Firm:private] => ) [created_at:Entity\User:private] => DateTime Object ( [date] => 2014-08-01 15:12:36 [timezone_type] => 3 [timezone] => Europe/Paris ) [updated_at:Entity\User:private] => DateTime Object ( [date] => 2014-08-01 15:12:36 [timezone_type] => 3 [timezone] => Europe/Paris ) [firm:protected] => ) , 

Пробовал это , но согласно моему требованию, не хочу, чтобы пользователь doctrine_query. Благодарю.

Solutions Collecting From Web of "Объект объекта Doctrine для массива"

Вы можете попробовать что-то вроде этого,

  $result = $this->em->createQueryBuilder(); $app_code = $result->select('p') ->from('YourUserBundle:User', 'p') ->where('p.id= :id') ->setParameter('id', 2) ->getQuery() ->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY); 

Другой путь,

  $this->em->getRepository('YourUserBundle:User') ->findBy(array('id'=>1)); 

Выше возвращается массив, но содержит объекты доктрины. Лучший способ вернуть массив – использовать запрос доктрины.

Надеюсь это поможет. Ура!

Я новичок в Symfony, но есть некоторый рабочий (но странный) способ:

json_decode ($ this-> container-> get ('serializer') -> serialize ($ entity, 'json'))