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

username1's avatar

How to sortBy date with nested relation?

good day, I just want to ask how to sortBy date with relation, I tried what saw in here, but nothings happen. Can anyone help me. Thank you,, here is my controller,

      $work_order = WorkOrder::where('status', 9)
        ->with('getWorker', 'getJobOrder', 'getScope', 'getJobType', 'getScopeDescription', 'operator')
        ->when($this->worker_id, function ($query) {
            $query->whereHas('getWorker', function ($q) {
                $q->where('assigned_worker_id', $this->worker_id);
            })->get();
        })
        ->when($this->work_type_id, function ($query) {
            $query->where('job_type_id', $this->work_type_id);
        })
        ->when($this->start_date && $this->end_date, function ($query) {
            $query->whereHas('getWorker', function ($q) {
                $q->where('start', '>=', $this->start_date)
                    ->where('start', '<=', Carbon::parse($this->end_date)
					->addHour(23)->addMinute(59)->addSecond(59));
            })->get();
        }, function ($query) {
            $query->whereHas('getWorker', function ($q) {
                $q->whereMonth('start', '=', Carbon::now());
            });
        })
        ->get();
0 likes
8 replies
username1's avatar
username1
OP
Best Answer
Level 1

@MichalOravec this works for me thank you,,

$users = User::orderBy(Company::select('name') ->whereColumn('companies.id', 'users.company_id') )->get();

username1's avatar

I already tried to put orderBY() here but nothing's change. . and this is my relation..

public function getWorker()
{
    return $this->hasMany(AddWorker::class, 'work_order_id');
}

Please or to participate in this conversation.