Symfony Return";日期“;从条令质疑

Symfony Return";日期“;从条令质疑,symfony,Symfony,我有这个疑问 // build query to get their order details $orderEntity = $em->createQueryBuilder() ->select('oh.orderHeaderId','oh.orderDate', 'oh.orderTotal', 'od.createdDate', 'od.productName', 'od.flashSalePrice', 'od.itemQuantity')

我有这个疑问

 // build query to get their order details
    $orderEntity = $em->createQueryBuilder()
    ->select('oh.orderHeaderId','oh.orderDate', 'oh.orderTotal',       'od.createdDate', 'od.productName', 'od.flashSalePrice', 'od.itemQuantity')
    ->from('FLOEcommerceBundle:OrderHeader','oh')
    ->leftJoin('FLOEcommerceBundle:OrderDetail', 'od' ,'WITH', 'oh.orderHeaderId = od.orderHeaderId')
    ->where('oh.memberId = ?1')
    ->orderby('oh.orderDate' , 'desc')
    ->setParameter(1, $memberId)
    ->getQuery()
    ->getArrayResult();
结果集转储为

array:3 [▼
 0 => array:7 [▼
"orderHeaderId" => 25
"orderDate" => DateTime {#3906 ▼
  +"date": "2015-07-15 11:27:59.000000"
  +"timezone_type": 3
  +"timezone": "America/Tegucigalpa"
}
"orderTotal" => "33.9600"
"createdDate" => DateTime {#3904 ▼
  +"date": "2015-07-15 11:28:00.000000"
  +"timezone_type": 3
  +"timezone": "America/Tegucigalpa"
}
"productName" => "Plain Skirt"
"flashSalePrice" => "10.9900"
"itemQuantity" => 1
]
我的问题是a)如何返回日期?和/或b)如何循环通过“orderDate”键获取“日期”?我使用foreach循环数组以构建输出变量。先谢谢你

  foreach ( $orderEntity as $items ) {



        foreach ( $items as $key => $value ) {

            if( 'orderHeaderId' == $key) {


                $orders .= ' OrderId: ' . $value . $br;

            }
        }


        foreach ( $items as $key => $value ) {

            if( 'orderDate' == $key ) {






                        $orders .= ' OrderDate: ' . $value . $br;

                    }

            }

            }
这对我应该有帮助。基本上有两个选项,要么修改实体类
OrderHeader
,要么每次遇到datetime对象时,从变量中提取日期。代码将是这样的

在实体类中

/**
 * @return \DateTime
 */
public function getcreatedDate()
{
    $returnValue = $this->createdDate->format('y:m:d') //You can change it to your needed format.
    return $returnValue
}
如果您愿意,您可以始终在控制器中以相同的方式对其进行修改。(如果您不关心日期以外的其他数据,我个人更喜欢在实体本身中修改它)

我这样做应该会有所帮助。基本上有两个选项,要么修改实体类
OrderHeader
,要么每次遇到datetime对象时,从变量中提取日期。代码将是这样的

在实体类中

/**
 * @return \DateTime
 */
public function getcreatedDate()
{
    $returnValue = $this->createdDate->format('y:m:d') //You can change it to your needed format.
    return $returnValue
}

如果您愿意,您可以始终在控制器中以相同的方式对其进行修改。(我个人更喜欢在实体本身中修改它,如果您不关心日期以外的其他数据)

使用
getScalarResult()
而不是
getArraryResult()
将任何
DateTime
对象截断为仅包含日期的字符串。

使用
getScalarResult()
而不是
getArraryResult()
将任何
DateTime
对象截断为仅包含日期的字符串