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 - 读取、检索过滤后的数据