Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Čamo's avatar
Level 3

How to set up DateTime on specific column while getting result from query builder?

I can not use $cast cause I am using query builder. But I dont like to get date time columns as string. Is it possible to get DateTime object instead?

$closed_dates_tmp = DB::table('devices_closed_date')
                ->select('*')
                ->where(function (Builder $q) use ($from, $to) {
                    $q->where(function ($q) use ($from, $to) {
                        $q->where('date_from', '>', $from)->where('date_to', '<', $to);
                    })->orWhere(function ($q) use ($from, $to) {
                        $q->where('date_from', '<=', $to)->where('date_to', '>=', $to);
                    })->orWhere(function ($q) use ($from, $to) {
                        $q->where('date_from', '<=', $from)->where('date_to', '>=', $from);
                    });
                })
                ->get();

Thanks..

0 likes
2 replies
Čamo's avatar
Level 3

@Snapey hmmm so I need to do this

            $closed_dates_tmp = DB::table('devices_closed_date')
                ->select('*')
                ->where(function (Builder $q) use ($from, $to) {
                    $q->where(function ($q) use ($from, $to) {
                        $q->where('date_from', '>', $from)->where('date_to', '<', $to);
                    })->orWhere(function ($q) use ($from, $to) {
                        $q->where('date_from', '<=', $to)->where('date_to', '>=', $to);
                    })->orWhere(function ($q) use ($from, $to) {
                        $q->where('date_from', '<=', $from)->where('date_to', '>=', $from);
                    });
                })
                ->get()
                ->each(function($row, $key) {
                    $row->date_from = new DateTime($row->date_from);
                    $row->date_to = new DateTime($row->date_to);
                });

Please or to participate in this conversation.