-
store -
options
Sets up the knex query builder instance
Parameters:
-
storeStore- Instance of Ash.Store
-
optionsMixed- 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:
-
ModelModel- 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:
-
ModelModel
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$notinSQL NOT IN$likeSQL LIKE$notlikeSQL 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