1

Given the following example:

Post

- id
- name
- user_id (FK to class User)

User

- id
- name
- rank_id (FK to class Rank)

Rank

- id
- name

Is it possible to make a query with an orderBy on user.rank.name?

$posts = Post::query()
    ->with([
        'user:id,name,rank_id',
        'user.rank:id,name'
    ])
    ->orderBy('something with user.rank.name')
    ->orderBy('user.name')
    ->orderBy('name');
  • Currently I found a temporary solution: adding a `->join('ranks')` and a `->selectRaw('ranks.name as rank')`, so I can execute `->orderBy('rank')->orderBy('user.name')->orderBy('name')` – Roel Pennings Jan 15 '22 at 09:39

0 Answers0