teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

回答がつかないので変えた

2021/10/10 15:31

投稿

OSARU_2020
OSARU_2020

スコア15

title CHANGED
File without changes
body CHANGED
@@ -1,14 +1,12 @@
1
1
  flutterにてSNSアプリを作成しており、firebase(firestore)に登録されているユーザー情報を取得し、
2
2
  一覧(SliverGrid)に表示をしようと考えています。
3
3
 
4
+ 【困っていること】
4
5
  QuerySnapshotのデータを取得する際、
5
6
  whereでusername(フィールド)を特定の条件に絞り、
6
7
  orderByでcreatedAt(フィールと)を降順で指定して取得したいのですが上手くいきません。
8
+ 下記のエラーが出て、リストが表示されずに困っています。
7
9
 
8
- 【試したこと】
9
- 下記を参考にfirebase側の複合インデックスを追加しました。
10
- https://moimoiblog.com/programing/firebase-execute-where-orderby/
11
-
12
10
  【エラー内容】
13
11
  ```ここに言語を入力
14
12
  The initial orderBy() field '[[FieldPath([createdAt]), true]][0][0]' has to be the same as the where() field parameter 'FieldPath([username])' when an inequality operator is invoked.
@@ -16,6 +14,12 @@
16
14
  Failed assertion: line 680 pos 11: 'field == orders[0][0]'
17
15
  ```
18
16
 
17
+ 【試したこと】
18
+ 下記を参考にfirebase側の複合インデックスを追加しました。
19
+ https://moimoiblog.com/programing/firebase-execute-where-orderby/
20
+
21
+
22
+ 【実際のコード】
19
23
  下記が実際のコードになります。
20
24
  もしご存知の方がいらっしゃれば、解決方法を教えていただきたいです。
21
25
 

2

回答がつかないので変えた

2021/10/10 15:31

投稿

OSARU_2020
OSARU_2020

スコア15

title CHANGED
@@ -1,1 +1,1 @@
1
- 【flutter】QuerySnapshotのwhere句関し
1
+ 【flutter】QuerySnapshotの条件指定つい(複合インデックスについて)
body CHANGED
@@ -1,13 +1,24 @@
1
1
  flutterにてSNSアプリを作成しており、firebase(firestore)に登録されているユーザー情報を取得し、
2
2
  一覧(SliverGrid)に表示をしようと考えています。
3
3
 
4
+ QuerySnapshotのデータを取得する際、
4
- その際に取得したQuerySnapshotのデータをwhereでusername(フィールド)を’taku’に絞っているおり、
5
+ whereでusername(フィールド)を特定の条件に絞り、
5
- データベースにもusernameが’taku’のデータは存在しているのですが
6
- CircularProgressIndicator()が発動したまま動きません。
6
+ orderByでcreatedAt(フィールと)を降順で指定て取得しいのですが上手くいきません。
7
7
 
8
+ 【試したこと】
8
- どなたか解決方法ご存知方がいれば教えて頂きいです
9
+ 下記参考にfirebase側複合インデックスを追加しました。
10
+ https://moimoiblog.com/programing/firebase-execute-where-orderby/
9
11
 
12
+ 【エラー内容】
13
+ ```ここに言語を入力
14
+ The initial orderBy() field '[[FieldPath([createdAt]), true]][0][0]' has to be the same as the where() field parameter 'FieldPath([username])' when an inequality operator is invoked.
15
+ 'package:cloud_firestore/src/query.dart':
16
+ Failed assertion: line 680 pos 11: 'field == orders[0][0]'
17
+ ```
10
18
 
19
+ 下記が実際のコードになります。
20
+ もしご存知の方がいらっしゃれば、解決方法を教えていただきたいです。
21
+
11
22
  ```flutter
12
23
  import 'package:cloud_firestore/cloud_firestore.dart';
13
24
  import 'package:flutter/material.dart';
@@ -29,7 +40,7 @@
29
40
  builder:
30
41
  (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
31
42
  if (!snapshot.hasData) {
32
- return Center(child: CircularProgressIndicator()); //★★★★★★こちらが発動
43
+ return Center(child: CircularProgressIndicator());
33
44
  }
34
45
  return CustomScrollView(
35
46
  slivers: <Widget>[

1

誤字

2021/10/10 15:28

投稿

OSARU_2020
OSARU_2020

スコア15

title CHANGED
File without changes
body CHANGED
@@ -29,7 +29,7 @@
29
29
  builder:
30
30
  (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
31
31
  if (!snapshot.hasData) {
32
- return Center(child: CircularProgressIndicator());
32
+ return Center(child: CircularProgressIndicator()); //★★★★★★こちらが発動
33
33
  }
34
34
  return CustomScrollView(
35
35
  slivers: <Widget>[
@@ -40,7 +40,7 @@
40
40
  leading: IconButton(
41
41
  icon: Icon(Icons.menu),
42
42
  onPressed: () async {
43
- _scaffoldKey.currentState.openDrawer(); //★★★★★★こちらが発動
43
+ _scaffoldKey.currentState.openDrawer();
44
44
  }),
45
45
  title: Text('blind match',
46
46
  style: TextStyle(