Firebase 过滤数据与 php

Posted

技术标签:

【中文标题】Firebase 过滤数据与 php【英文标题】:Firebase Filteringdata with php 【发布时间】:2019-08-12 09:33:14 【问题描述】:

我已经测试了这个Firebase Filtering data with php,但我得到了这个错误,我不知道如何调试这个

致命错误:未捕获的 GuzzleHttp\Exception\ClientException:客户端 错误:GET https://table.firebaseio.com/tbl_admin?orderBy=%22username%22&equalTo=%22admin%22&limitToFirst=1 导致400 Bad Request 响应:“错误”:“索引不 已定义,添加 \".indexOn\": \"username\", for path \"/tbl_admin\", to 规则”在 D:\Xampp\htdocs\firebase\vendor\guzzlehttp\guzzle\src\Exception\RequestException.php:113 堆栈跟踪:#0 D:\Xampp\htdocs\firebase\vendor\guzzlehttp\guzzle\src\Middleware.php(66): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), 对象(GuzzleHttp\Psr7\Response))#1 D:\Xampp\htdocs\firebase\vendor\guzzlehttp\promises\src\Promise.php(203): GuzzleHttp\Middleware::GuzzleHttpclosure(Object(GuzzleHttp\Psr7\Response))

2 D:\Xampp\htdocs\firebase\vendor\guzzlehttp\promises\src\Promise.php(156):

GuzzleHttp\Promise\Promise::callHandler(1, 对象(GuzzleHttp\Psr7\Response),数组)#3 D:\Xampp\htdocs\firebase\vendor\guzzlehttp\promises\src\TaskQueue.php(47): GuzzleHttp\Prom in D:\Xampp\htdocs\firebase\vendor\kreait\firebase-php\src\Firebase\Exception\QueryException.php 第 28 行

我将如何在 firebase 上过滤它,因为我在 mysql 上这样查询它:

SELECT * FROM tbl_admin WHERE username = 'admin'

【问题讨论】:

内嵌图片,让用户不必离开 *** 【参考方案1】:

如果您阅读错误消息,您会发现它说:

索引未定义,将“.indexOn”:“用户名”,路径“/tbl_admin”添加到规则中

您可以通过导航到项目的 Firebase Web 控制台中的“数据库规则”部分来添加这些规则(https://console.firebase.google.com/project/_/database/_/rules should™ 将您带到那里)并添加索引,使您的规则看起来像这样:


    "rules": 
        ".read": false,
        ".write": false,
        "tbl_admin": 
          ".indexOn": ["username"]
        
    

重要的部分是tbl_admin 字段,如果您的规则中已有其他设置,请不要只复制和粘贴 sn-p ^^。

【讨论】:

以上是关于Firebase 过滤数据与 php的主要内容,如果未能解决你的问题,请参考以下文章

过滤 Firebase 数据时,Where() 和 orderBy() 过滤器不能一起工作

Firebase、Flutter - 读取、检索过滤后的数据

过滤和显示来自 firebase 数据库的搜索栏结果

从 firebase-realtime-database 过滤数据

如何查询和过滤 Firebase 实时数据库 [重复]

Firebase Firestore - 使用多个“数组包含”过滤数据