2016-06-20 15 views
0

今、私はdbからcsv関数へのエクスポートを行っています。Laravel 4.2日付範囲クエリに欠落している日付範囲を追加する

私はそれを完了するための長い旅でしたが、csvファイルの形式やスタイルの一部は、営業報告なしでその日を含めて毎日のパフォーマンスレポートを一覧表示することです。これはクライアント要求です。

私は多くの質問をしましたが、今これが最も重要です。

私が持っているクエリ:

$period = DB::table('reports')->select('id','quantity','created_date')->whereBetween('created_date',$timerange)->where('branch_id',$br_id)->orderBy('created_date','asc')->get(); 

結果:質問でもその日のレコードがない、この中に結果をオンにする方法をされて

array (size=3) 
0 => 
array (size=2) 
    'created_date' => string '2016-02-18 00:00:00' (length=19) 
    'quantity' => int 1 
1 => 
array (size=2) 
    'created_date' => string '2016-02-20 00:00:00' (length=19) 
    'quantity' => int 1 
2 => 
array (size=2) 
    'created_date' => string '2016-02-23 00:00:00' (length=19) 
    'quantity' => int 1 

(私が使用しているのvar_dump) 。

例:

array (size=3) 
0 => 
array (size=2) 
    'created_date' => string '2016-02-18 17:21:04' (length=19) 
    'quantity' => int 1 
1 => 
array (size=2) 
    'created_date' => string '2016-02-19 17:21:04' (length=19) 
    'quantity' => int 0 
2 => 
array (size=2) 
    'created_date' => string '2016-02-20 00:00:00' (length=19) 
    'quantity' => int 1 
3 => 
array (size=2) 
    'created_date' => string '2016-02-21 00:00:00' (length=19) 
    'quantity' => int 0 
4 => 
array (size=2) 
    'created_date' => string '2016-02-22 00:00:00' (length=19) 
    'quantity' => int 0 
5 => 
array (size=2) 
    'created_date' => string '2016-02-23 00:00:00' (length=19) 
    'quantity' => int 1 

私が編集された後、質問をチェックして、あなたに

答えて

1

わかりましたありがとうございました。私が理解したところでは、クエリ結果にデータベースに存在しない日付を含める必要があります。あなたは、2つのオプションがあります。

第一を - 2つの日付の間の日付を生成するDatePeriod PHP classの使用:すべてのレコードを通って、日付が存在する場合、

$period = new \DatePeriod(
      new \DateTime('2010-10-01'), 
      new \DateInterval('P1D'), 
      new \DateTime('2010-10-05') 
     ); 

、結果がデータベースからフェッチされた後に、あなたのループをクエリ結果に存在しなかった$期間では、データベースから取得した同じ形式の結果の配列に単純に追加します。

第二 - あなたはhere

・ホープこのことができます答えを確認してください。

+0

結果は依然として同じ –

+0

@معاذالغفاري私にチェックさせてください。私は地元でそれを実行しようとする、すぐにあなたに戻って取得します:) –

+0

私の質問を更新する、間違いがあります –