简体   繁体   中英

comparing two timestamp values in yii2

I have a model that compares data from db by checking if the data registered on time falls between today and yesterday's midnight but its returning an error

This is the code:

 $hour = 12;
    $today = strtotime($hour . ':00:00'); //returns the value of todays midnight
    $yesterday = strtotime('-1 day', $today); //yesterday midnight


  $query = TodoTruckChecklist::find()
        ->leftJoin('truck', 'todo_truck_checklist.truck_id = truck.id')
        ->where('truck.truck_status = 6')
        ->andWhere('todo_truck_checklist.done_at='.$id)

        ->andWhere(strtotime('todo_truck_checklist.registered_on')< $today)
        ->andWhere(strtotime('todo_truck_checklist.registered_on')> $yesterday)
           ;

    var_dump($query->all());

The values of reg_on is a datetime field which values are stored in the form of

DMY H:M:S

The error returned is

SQLSTATE[42000]: Syntax error or access violation:
The SQL being executed was: SELECT `todo_truck_checklist`.* FROM 
`todo_truck_checklist` LEFT JOIN `truck` ON todo_truck_checklist.truck_id = 
 truck.id WHERE (((truck.truck_status = 6) AND 
 (todo_truck_checklist.done_at=2)) AND (1)) AND ()//this has error

Where am i going wrong

I hope this will help you.

  $query = TodoTruckChecklist::find()
    ->leftJoin('truck', 'todo_truck_checklist.truck_id = truck.id')
    ->where(['truck.truck_status' => 6])
    ->andWhere(['todo_truck_checklist.done_at'=>$id])
    ->andWhere(['between','todo_truck_checklist.registered_on',$yesterday, $today])
    ->all();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM