クエリオブジェクト
iOS・Android・Cordovaでは各種条件はメソッドの引数で指定しますが、JavaScript・Flutter・Node.jsではクエリオブジェクトに対してメソッドチェーンで各条件を指定します。
例えば、以下のJavaScriptのコードを例にすると、RKZ.Data.query()
はDataQuery
というオブジェクトを返します。
const dataResult = await RKZ.Data.query('shop')
.equalTo('category_cd', '0001') // 一致検索条件
.contains('name', 'パン') // 中間一致検索条件
.asc('name') // 昇順ソート条件
.find()
DataQuery
にはequalTo()
などの検索条件を指定するメソッド、asc()
などのソート条件を指定するメソッドなどが用意されており、これらのメソッドはクエリオブジェクトを返すため、メソッドチェーンで他の条件を指定することができます。
最後にfind()
を呼び出すと実際にデータの問い合わせを行い、結果を返します。
ヒント
Flutterでは各メソッドはクエリオブジェクトを返しません。そのかわりに、Dartの「カスケード演算子」を使って、メソッドチェーンを記述します。
final query = RKZClient.instance.dataQuery(objectId)
..equalTo('category_cd', '0001')
..asc('name');
final dataResult = await query.find();