0
私は毎日、予約の量を取得しようとしています。GroupByと日付
// prepare date for request
$today = new DateTime('now');
$lastMonth = new DateTime('-30 days');
$qb
->select('r.reservationDate, sum(r.totalAmountNoTaxes) as totalAmountNoTaxes')
->where('r.companyId = :companyId')
->setParameter('companyId', $companyId)
->andWhere('r.reservationDate BETWEEN :month AND :today')
->setParameter('month', $lastMonth->format('Y-m-d'))
->setParameter('today', $today->format('Y-m-d'))
->orderBy('r.reservationDate', 'ASC')
->groupBy('r.reservationDate')
;
は私が(私のWebサービスからの)そのような結果を得る
{
"reservationDate": "2016-12-21T07:41:12+0000",
"totalAmountNoTaxes": "26150.30"
},
{
"reservationDate": "2016-12-22T07:41:01+0000",
"totalAmountNoTaxes": "230.00"
},
{
"reservationDate": "2016-12-22T07:41:02+0000",
"totalAmountNoTaxes": "21966.40"
},
{
"reservationDate": "2016-12-23T07:40:52+0000",
"totalAmountNoTaxes": "20407.05"
},
{
"reservationDate": "2016-12-24T07:40:41+0000",
"totalAmountNoTaxes": "4319.75"
},
{
"reservationDate": "2016-12-24T07:40:42+0000",
"totalAmountNoTaxes": "7261.20"
},
{
"reservationDate": "2016-12-25T07:40:28+0000",
"totalAmountNoTaxes": "14821.45"
},
{
"reservationDate": "2016-12-26T07:40:16+0000",
"totalAmountNoTaxes": "494.50"
},
{
"reservationDate": "2016-12-26T07:40:17+0000",
"totalAmountNoTaxes": "14541.25"
},
{
"reservationDate": "2016-12-27T07:06:40+0000",
"totalAmountNoTaxes": "25763.90"
},
{
"reservationDate": "2016-12-28T05:37:43+0000",
"totalAmountNoTaxes": "20595.70"
}
問題は、時には日付が正しくグループ化されていないということです。私はこの教義要求を行っています。たとえば、2016-12-22は2で分割されています.24,26と同じです。
どうすればいいですか?
はい日付はタイムスタンプとして保存されます。したがって、22番目には2つのエントリとグループ分けが求められます。あなたは 'date_format(r.reservationDate、 '%Y-%m-%d')をreservationDate'として選択し、最後に' reservationDate'でグループ化します。 –
thxですが、[Syntax Error]行0、col 7 :エラー:予想される既知の関数、 'date_format'を得ました " – Xero
@Xeroは私の答えを見て試してみてください。 – rokas