Хочет преобразовать объект 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. Благодарю.
Вы можете попробовать что-то вроде этого,
$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'))