Привет, ребята. У меня проблемы с анализом данных, которые я получаю из объекта данных Doctrine.
Это мой запрос:
$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;
}
"Echo $order-> email;" оператор ничего не возвращает. Я проверил sql с phpmyadmin и вернул действительные данные.
Как мне получить доступ к этой части данных?
Спасибо за любую помощь, которую вы можете дать.
Заказ не имеет электронной почты, но имеет пользователя. Также попробуйте не получать поля напрямую, используйте методы getter (а не email
а getEmail()
)
foreach ($result as $order) {
echo $order->getUser()->getEmail();
}