Fetching results

You may use the table method on the DB service to begin a query. The table method returns a query builder instance for the given table, allowing you to chain more constraints onto the query and then finally get the results using any of the below methods:

Retrieving A Single Row

Use the fetchRow method to get a single row. By default the row is a php standard object, pass true as the first parameter for the row to be associate array.

$users = $this->db->table('users')->where('id', '=', 5)->fetchRow();

$users = $this->db->table('users')->where('id', '=', 5)->fetchRow(true);

Use the fetchObject method to get a single row. Row is a php object of the type you pass it.

$users = $this->db->table('users')->where('id', '=', 5)->fetchObject(new User());
Retrieving All Rows From a Table

Use the fetchRows method to get an array of all rows. By default the rows are returned as php objects, pass true as the first parameter for the rows to be associate array.

$users = $this->db->table('users')->fetchRows();

$users = $this->db->table('users')->fetchRows(true);

Use the fetchObjects method to get an array of all rows. Each row is a php object of the type you pass it.

$users = $this->db->table('users')->fetchObjects(new User());

You can also retrieve the resulting array as an associtive array with a column as the key.

$users = $this->db->table('users')->select(['id', 'email', 'name'])->fetchRowsWithColumnKey('id');
Retrieve all items of a column

If you would like to retrieve a Collection containing the values of a single column, you may use the fetchAllColumn method. In this example, we'll retrieve a Collection of titles:

$titles = $this->db->table('users')->select('title')->fetchAllColumn();
Retrieving a Column From a Table

If you don't need an entire row, you may extract a single value from a record using the fetchValue method. This method will return the value of the column directly:

$email = $this->db->table('users')->select('email')->fetchValue();
Retrieve a list as a key value pair

You may retrieve a list as a key value pair using the fetchKeyValuePair method.

$options = $this->db->table('options')->fetchKeyValuePair('name', 'value');

Aggregates

The query builder also provides a variety of aggregate methods such as count, max, min, avg, and sum. You may call any of these methods after constructing your query:

$users = $this->db->table('users')->count();
$price = $this->db->table('orders')->max('price');

You may combine these methods with other clauses:

$price = $this->db->table('orders')
    ->where('finalized', 1)
    ->avg('price');