Ordering criteria
Learn how to order results
Adding an ordering criterion is done by using the orderBy method.
$result = $db->from('users')
->orderBy('name')
->select()
->all();
SELECT * FROM `users` ORDER BY `name` ASC
Changing an ordering criterion is done by passing desc as the second argument to the orderBy method.
$result = $db->from('users')
->orderBy('name', 'desc')
->select()
->all();
SELECT * FROM `users` ORDER BY `name` DESC
You can provide multiple columns as an ordering criterion, by passing to the orderBy method
an array containing all column names.
$result = $db->from('users')
->orderBy(['name', 'age'])
->select()
->all();
SELECT * FROM `users` ORDER BY `name`, `age` ASC
Adding multiple ordering criteria to the same query is done by calling the orderBy
method as many times as you need.
$result = $db->from('users')
->orderBy('name')
->orderBy('age', 'desc')
->select()
->all();
SELECT * FROM `users` ORDER BY `name` ASC, `age` DESC
Ordering NULL values
You can specify how NULL values should be ordered by passing nulls first or
nulls last as the third argument to the orderBy method.
$result = $db->from('users')
->orderBy('name')
->orderBy('age', 'desc', 'nulls first')
->select()
->all();
SELECT * FROM `users` ORDER BY `name` ASC, `age` DESC NULLS FIRST