Home > OS >  Laravel whereRaw using date
Laravel whereRaw using date

Time:02-20

I have variable called $date

when I used dd(); it will return something like this

enter image description here

"2022-02-15"

But when I try to use the variable $date in my where statement it's not working.

My query looks like this

Ex#1

      $data = Order::whereNull('deleted_at')
                    ->where( 'status_level' , 1)
                    ->where('overall_status', 'Not Yet Validated')
                    ->whereRaw("date(created_at) = '".$date."'");

The query is not working.

enter image description here

But when I tried to use something like this

Ex#2

      $data = Order::whereNull('deleted_at')
                    ->where( 'status_level' , 1)
                    ->where('overall_status', 'Not Yet Validated')
                    ->whereRaw("date(created_at) = '2022-02-15'");

I am getting the right output, should I say it's working.

enter image description here

CodePudding user response:

Add get()or first() behind your query. Like

  $data = Order::whereNull('deleted_at')
                    ->where( 'status_level' , 1)
                    ->where('overall_status', 'Not Yet Validated')
                    ->whereRaw("date(created_at) = '2022-02-15'")->get();

CodePudding user response:

use whereDate

$data = Order::whereNull('deleted_at')
          ->where( 'status_level' , 1)
          ->where('overall_status', 'Not Yet Validated')
          ->whereDate('created_at', $date )->get();
  • Related