Select
Provided that the API you are working with supports such, you may select the "fields" to be returned by a response. Typically, you would combine a selection of fields with include.
Select a Single Field
The select()
method allows you to specify what field(s) should be returned.
$response = $client
->select('name')
->get('/users');
default
/users?select=name
json api
/users?fields[]=name
odata
/users?$select=name
Select Field from Resource
You may also specify what resource the given field should be selected from.
$response = $client
->select('name', 'friends')
->get('/users');
default
/users?select=friends.name
json api
/users?fields[friends]=name
odata
/users?$select=friends.name
Select Multiple Fields
To select multiple fields, you can state an array as argument.
$response = $client
->select([
'name' => 'friends',
'age' => 'friends',
'job_title' => 'position'
])
->get('/users');
default
/users?select=friends.name,friends.age,position.job_title
json api
/users?fields[friends]=name,age&fields[position]=job_title
odata
/users?$select=friends.name,friends.age,position.job_title
Select Raw Expression
To perform a raw selection, use the selectRaw()
method. It accepts a string expression and an optional bindings array.
$response = $client
->selectRaw('account(:number)', [ 'number' => 7 ])
->get('/users');
default
/users?select=account(7)
json api
/users?fields[]=account(7)
odata
/users?$select=account(7)