lundi 12 août 2019

DB::raw("STR_TO_DATE('due_date', '%d/%m/%Y')"); is not getting data in laravel [duplicate]

This question already has an answer here:

Need to fetch the record from MYSQL with given from and to dates. The dates are defined as VARCHAR in DB. How to use STR_TO_DATE(?, '%d/%m/%Y') in laravel.

Already tried by using DB::raw("STR_TO_DATE('due_date', '%d/%m/%Y')")

$from_date = "12/08/2019";
$to_date = "12/12/2020";
$from_date_raw = DB::raw("STR_TO_DATE('".$from_date."', '%d/%m/%Y')");
$to_date_raw = DB::raw("STR_TO_DATE('".$to_date."', '%d/%m/%Y')");
$due_date_raw = DB::raw("STR_TO_DATE('due_date', '%d/%m/%Y')");
$query = DB::table('due_details')->where('amount', '>', 0);
if ($from_date != null && $to_date != null) {
    $query->whereBetween($due_date_raw, [$from_date_raw, $to_date_raw]);
} else if ($from_date != null) {
    $query->where($due_date_raw, '>=', $from_date_raw);
} else if ($to_date != null) {
    $query->where($due_date_raw, '<=', $to_date_raw);
}
$data = $query->orderBy('id', 'asc')->get();

expected the data between those given dates.given table('due_details') data



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire