Rahul W
Rahul W

Reputation: 195

How get get data "orderBy" months but start with Current month and so on

Trying to get data by months and for the first part, it's working perfectly and is now stuck at 2 points.

  1. Required Month Name with Year ( Say "March 2022" )
  2. Required the same in OrderBy where it should start with the current month (March 2022) and then further (April 2022, May 2022, June 2022 .... Jan 2022, Feb 2022)

My Controller

         $getdatapermonth    =   Dairyincome::select(
            DB::raw('(MONTHNAME(date)) as "month_name",SUM(cmilkquantity) as "cmilkquantity", SUM(cmilkamount) as "cmilkamount",SUM(bmilkquantity) as "bmilkquantity", SUM(bmilkamount) as "bmilkamount", SUM(totalamount) as "totalamount"')
            )
            ->where('customerid',$customerid)   
            ->whereYear('date', date('Y'))
            ->groupBy('month_name')
            ->get()->toArray();

Array I am getting

array:3 [▼
    0 => array:6 [▼
    "month_name" => "January"
    "cmilkquantity" => "0.00"
    "cmilkamount" => "0.00"
    "bmilkquantity" => "10.00"
    "bmilkamount" => "450.00"
    "totalamount" => "450.00"
     ]
     1 => array:6 [▼
    "month_name" => "February"
    "cmilkquantity" => "2.00"
    "cmilkamount" => "70.00"
    "bmilkquantity" => "0.00"
    "bmilkamount" => "0.00"
    "totalamount" => "70.00"
     ]
     2 => array:6 [▼
    "month_name" => "March"
    "cmilkquantity" => "2.00"
    "cmilkamount" => "70.00"
    "bmilkquantity" => "2.00"
    "bmilkamount" => "70.00"
    "totalamount" => "140.00"
  ]
]

Thanks in Advance.

Upvotes: 0

Views: 146

Answers (1)

Saravanakumar Arumugam
Saravanakumar Arumugam

Reputation: 534

Just change:

DB::raw('(MONTHNAME(date)) as "month_name"')

to:

DB::raw('DATE_FORMAT(date, "%M %Y") as "month_name"')

It will output month name in "Month YYYY" format.

Upvotes: 1

Related Questions