NIFCLOUD-mbaas / UserCommunity

ニフクラ mobile backend ユーザーコミュニティ
https://mbaas.nifcloud.com/
81 stars 18 forks source link

Flutter 日付の検索が失敗します。 #1303

Closed S-Kaneko-5517 closed 2 years ago

S-Kaneko-5517 commented 2 years ago

今日の日付で、会員データを作成した日(createDate)を絞り込み検索したいと思っています。

ですが、【コード】のquery.fetchAll()で失敗してしまいます。 try catchにも引っかからず、処理が終了してしまいます。

検索方法が違うなど、ご教授いただけますでしょうか。

【コード】 var dt = DateTime.now();

var query = NCMBUser.query(); query.equalTo('createDate', dt); var items = await query.fetchAll();

goofmint commented 2 years ago

こちら失礼しました。2.4.1にて対応しました。アップデートをお願いします。

使い方はそのままで問題ありません。

goofmint commented 2 years ago

なお、今日の日付ということであれば現在時刻のnowを使うとうまく結果が出ないかも知れません(現在時刻が入ってしまうので)。

var now = DateTime.now();
var dateOnly = DateTime(now.year, now.month, now.day);
var query = NCMBUser.query();
query.greaterThanOrEqualTo('createDate', dateOnly);
var items = await query.fetchAll();

のようにして、 greaterThanOrEqualTo を使ってください。後、ユーザーの場合は権限周りも絡むかと思います。ACLでユーザーデータに対する読み込み権限があるかどうか確認してください。

S-Kaneko-5517 commented 2 years ago

早速の対応とアドバイスありがとうございました。

2.4.1にアップデートして、正常に処理を実行できました。

回答いただいたコード内では、equalToを使用しておりますが、greaterThanOrEqualToの間違いでしょうか? equalToで実行したところ、データを抽出できなかったので。

権限の確認のアドバイスありがとうございます。また悩んでしまうところでした。

goofmint commented 2 years ago

すみません、更新しました!

S-Kaneko-5517 commented 2 years ago

対応いただきありがとうございました。 大変助かりました。