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
对象截断为仅包含日期的字符串