chrispecoraro / php-sanity
该软件包的最新版本(dev-main)没有提供许可证信息。
Sanity.io 的实用工具集合
dev-main
2024-05-18 05:53 UTC
Requires
- sanity/sanity-php: ^1.5.2
This package is auto-updated.
Last update: 2024-09-18 06:35:10 UTC
README
PHP Sanity 是一个 PHP 类,提供方便的实用函数,用于对 https://Sanity.io 架构进行突变。这需要 sanity-php 客户端。 https://github.com/sanity-io/sanity-php
用法
// 实例化
$sanity = new Sanity('1a2b3c4d', 'production', 'skY70CML0Ovm3GfPqQKeLtBNnS....', '2019-01-29');`
create()
对于从数组或对象创建单个记录非常有用
$arr = ['Tim', 'Jones']; $sanity->create("employee", $arr, ["firstName","lastName"]);
create()
也与对象一起工作
$sanity->create("employee", (object)$arr,["firstName","lastName"]);
createFromString()
根据分隔的字符串创建单个文档。
$sanity->createFromString("employee",'Ralph|Peters',["firstName","lastName"],'|');
batchCreate()
对于从数组数组或对象导入非常有用
$docs = [ ['Bob', 'Jones'], ['Ron', 'Philips'] ]; $sanity->batchCreate("employee", $docs, ["firstName","lastName"]); $sanity->batchCreate("employee", (object)$docs, ["firstName","lastName"]);
batchCreateFromFile()
对于从分隔文件导入非常有用
// example file: // records.csv: // Bob|Jones // Ron|Philips $sanity->batchCreateFromFile("employee", "./records.csv", ["firstName","lastName"], "|");
copy()
将文档源字段复制到目标字段的值。// 这对于填充字段非常有用
$sanity->copy('employee','telephone','cellular');
attach()
使用引用将文档(通过 id)附加到文档。
$sanity->attach(fieldName: 'group', relatedFieldId: '1991fe09-b54c-4e35-9d32-15413863c3b6', documentId: 'fb5b618b-47e4-40c7-964b-2e479cb33');
attachImage()
使用文档 ID 作为参数
$sanity->attachImage('/home/bob/Documents/Bob-Photo.jpeg', documentId: 'fb5b618b-47e4-40c7-964b-2e479cb33');
attachImage()
也使用作为类属性的文档Id
$sanity->setDocumentId("fb5b618b-47e4-40c7-964b-29cb33c4"); $sanity->attachImage("/home/bob/Documents/avatar.jpg");
attachImage()
也使用图像 URL
$sanity->setDocumentId("fb5b618b-47e4-40c7-964b-279cb33c4"); $sanity->attachImage("https://picsum.photos/400/300");
all()
是一个快捷方式,相当于使用 GROQ 进行获取操作 //$results = $sanity->fetch('*[_type=="menuItem"]');
$results = $sanity->all("employee");
set()
将文档中的单个字段设置为给定值。
$sanity->set("lastName","Jones","fb5b618b-47e4-40c7-964b-2e479cb3c4");
deleteAll()
删除给定架构类型的所有文档。
重要提示:请谨慎操作并创建备份(首先导出数据集)。
$sanity->deleteAll('employee');
deleteById()
根据其 id 删除单个文档。
重要提示:请谨慎操作并创建备份(首先导出数据集)。
$sanity->deleteById('fb5b618b-47e4-40c7-964b-2e479cb33c');