嘿伙计们,我在解析从 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;"语句不返回任何内容。我已经用phpmyadmin检查了sql,它返回了有效的数据。
如何访问这部分数据?
感谢您提供的任何帮助。
订单没有电子邮件,但有用户。也尽量不要直接获取字段,使用 getter 方法(不是email
而是getEmail()
)
foreach ($result as $order) {
echo $order->getUser()->getEmail();
}