2016-01-14 2 views
1

Привет, ребята У меня проблемы с анализом данных, которые я получаю из объекта данных Doctrine.Анализ данных объектов Symfony

Это мой запрос:

$dateNeeded = date('Y-m-d', strtotime("-14 day")); 
    $result = $this->em->getRepository('FYPCartBundle:PurchasedItems')->createQueryBuilder('pi') 
     ->select('pi', 'o','cd','u','pv') 
     //SELECT purchased_items.previewurl, CustomerDesign.designData, CustomerDesign.quantity, fos_user.email, fos_user.firstName, fos_user.lastName, orders.orderid, ProductVariant.displayName, purchased_items.ordernumber 
     ->innerJoin('pi.orders', 'o') 
     ->innerJoin('pi.customerDesign', 'cd') 
     ->innerJoin('cd.user', 'u') 
     ->innerJoin('pi.productVariantObj', 'pv') 
     ->where('o.dateneeded = :dateneeded') 
     ->setParameter('dateneeded', $dateNeeded) 
     ->getQuery() 
     ->setMaxResults(30) 
     ->execute(); 

Вот мой цикл для анализа данных:

foreach ($result as $order) { 
     echo $order->email; 
    } 

"Эхо $ заказа запасного> по электронной почте;" оператор ничего не возвращает. Я проверил sql с phpmyadmin и вернул действительные данные.

Как получить доступ к этой части данных?

Благодарим за помощь, которую вы можете дать.

+0

Вы не выбираете любое поле электронной почты ... -> выбрать («пи», «о», «CD», 'у ',' pv ') –

+0

Поле электронной почты исходит от пользователей (u) – Jeremy

+0

$ order-> getUser() -> getEmail(); – Richard

ответ

0

У заказа нет электронной почты, кроме как у пользователя. Также старайтесь не получить поля непосредственно, с помощью методов получения (не email но getEmail())

foreach ($result as $order) { 
    echo $order->getUser()->getEmail(); 
} 
Смежные вопросы