如何使用PHP检查Firebase数组字段中是否存在指定数据
使用PHP检查Firebase文档中特定技术人员是否关联问题
先确保你已经安装并配置了Firebase Admin SDK for PHP,以下是具体实现步骤:
1. 安装Firebase Admin SDK
通过Composer安装官方SDK:
composer require kreait/firebase-php
2. 初始化SDK并查询文档
创建PHP脚本,完成初始化后查询目标文档,检查指定技术人员是否在Technicals字段中:
<?php require __DIR__.'/vendor/autoload.php'; use Kreait\Firebase\Factory; use Kreait\Firebase\ServiceAccount; // 加载Firebase服务账号密钥(替换为你的密钥文件路径) $serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/path/to/service-account.json'); // 初始化Firebase实例并获取Firestore客户端 $firebase = (new Factory) ->withServiceAccount($serviceAccount) ->create(); $firestore = $firebase->getFirestore(); // 替换为你的集合名、目标问题文档ID,以及要检查的技术人员姓名 $collectionName = 'issues'; $issueDocId = 'your-specific-issue-id'; $targetTechnician = 'John Doe'; // 获取目标文档引用 $docRef = $firestore->collection($collectionName)->document($issueDocId); $snapshot = $docRef->snapshot(); if ($snapshot->exists()) { // 提取Technicals字段的值(这是一个数组) $technicals = $snapshot->get('Technicals'); // 检查目标技术人员是否在数组中 if (in_array($targetTechnician, $technicals)) { echo "该技术人员涉及此问题"; } else { echo "该技术人员未涉及此问题"; } } else { echo "指定的问题文档不存在"; } ?>
关键说明
- 替换代码中的
path/to/service-account.json为你从Firebase控制台下载的服务账号密钥路径 $collectionName、$issueDocId需要替换为实际的集合名称和问题文档ID$targetTechnician是你要检查的技术人员姓名,确保和Firebase中存储的名称完全一致(区分大小写)

内容的提问来源于stack exchange,提问作者Abdel Rahman Yosry
相关产品推荐
相关产品推荐

