-
store
-
options
Sets up the knex query builder instance
Parameters:
-
store
Store- Instance of Ash.Store
-
options
Mixed- knex database options {Object} or {String}
-
Model
-
data
Creates a new record for a given model using supplied attributes hash
Returns:
-
Model
Returns a fields array of Model attribute names
Parameters:
-
Model
Model- Model class
Returns:
- array of model attribute names
-
Model
Finds all records for a given model. Use query
when you need more control over
what records are returned.
Parameters:
-
Model
Model
Returns:
-
Model
-
id
Retrieves a single record for the given model by given id
Returns:
-
Model
-
options
Finds records of a given model using options.
Options is an {Object} with the following properties:
include
- used to include related model records
adapter.query(Post, {include: 'comments,author'})
fields
- used to specify desired attribute fields to be returned in result objects
adapter.query(Post, {fields: {posts: 'title,description'}})
To restrict fields from included relationship models
adapter.query(Post, {fields: {posts: 'title', comments: 'comment'}})
sort
- used to sort results by its attributes
adapter.query(Post, {sort: 'title'})
To specify sorting by multiple columns, separate by comma
adapter.query(Post, {sort: 'title,description'})
Sort is ascending by default, use "-" to indicate descending
adapter.query(Post, {sort: '-title'})
page
- used to paginate results
adapter.query(Post, {page: {number: 1, size: 20}})
filter
- used to refine desired results by specified criteria
adapter.query(Post, {filter: {title: 'my title'}})
filter also supports a number of operators prefixed with a $ character
$or
- SQL OR$eq
- SQL =$gt
- SQL >$gte
- SQL >=$lt
- SQL <$lte
- SQL <=$ne
- SQL !=$not
- SQL NOT$between
- SQL BETWEEN$notbetween
- SQL NOT BETWEEN$in
- SQL IN$notin
SQL NOT IN$like
SQL LIKE$notlike
SQL NOT LIKE$ilike
- SQL NOT ILIKE$overlap
- SQL &&$contains
- SQL @>$contained
- SQL <@
adapter.query(Post, {filter: {title: {$like: '%my title%'}}})
$or
is a slightly special case. It takes an array of objects to 'Or' together
adapter.query(Post, {filter: {
$or: [
{id: {$lt: 10}},
{id: {$in: [20, 21, 22]}}
]
})
Returns:
-
Model
-
options
Similar to query
except that only a single record is returned