【问题标题】:Parsing Symfony Data Object解析 Symfony 数据对象
【发布时间】:2016-01-14 16:51:05
【问题描述】:

大家好,我在解析从 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,它返回了有效数据。

我如何访问这部分数据?

感谢您提供的任何帮助。

【问题讨论】:

  • 您没有选择任何电子邮件字段... ->select('pi', 'o','cd','u','pv')
  • 电子邮件字段来自用户(u)
  • $order->getUser()->getEmail();
  • getUser 是用户函数还是购买项目函数?

标签: php sql symfony oop doctrine


【解决方案1】:

订单没有电子邮件但有用户。也尽量不要直接获取字段,使用getter方法(不是email而是getEmail()

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-24
    • 2019-12-05
    • 1970-01-01
    • 2014-03-24
    • 2016-02-14
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多