devswebdev/laravel-airtable

Laravel Airtable SDK

v0.15 2020-07-07 15:32 UTC

README

Latest Stable Version StyleCI Quality Score Total Downloads

与Airtable交互的简单方法。

安装

您可以通过composer安装此包

composer require tapp/laravel-airtable

发布配置文件

php artisan vendor:publish --provider="Tapp\Airtable\AirtableServiceProvider"

在.env中定义airtables账户信息

AIRTABLE_KEY=
AIRTABLE_BASE=
AIRTABLE_TABLE=
AIRTABLE_TYPECAST=false 
  • AIRTABLE_KEY可以在此处获取:https://airtable.com/account
  • AIRTABLE_BASE可以在以下位置找到:https://airtable.com/api,选择基础然后从URL复制:https://airtable.com/[Base Is Here]/api/docs#curl/introduction
  • AIRTABLE_TABLE可以在相应基础的帮助文档中找到,这不区分大小写。例如:tasks
  • AIRTABLE_TYPECAST设置为true以允许自动转换。

示例配置

如果您需要支持多个表,请将它们添加到config/airtable.php中的tables配置

...
    'tables' => [

        'default' => [
            'name' => env('AIRTABLE_TABLE', 'Main'),
        ],

        'companies' => [
            'name' => env('AIRTABLE_COMPANY_TABLE', 'Companies'),
        ],
        ...
    ],
...

用法

在您的类中导入外观。

use Airtable;

从该表中获取记录

  • 这将仅返回前100条记录,因为Airtable页面大小限制
Airtable::table('tasks')->get();

从该表中获取所有记录。

  • 这将通过发送多个请求直到获取所有记录来获取所有记录。
  • 可选参数是请求之间的延迟(以微秒为单位),因为API对每个基础每秒限制5个请求,默认为0.2秒。
Airtable::table('tasks')->all();
Airtable::table('tasks')->all(500000); // 0.5 seconds

从默认表中获取一个记录。

Airtable::find('id_string');

筛选记录

  • 第一个参数是列名
  • 第二个参数是运算符或您想使用'='作为运算符的值。
  • 第三个参数是筛选器的值
Airtable::where('id', '5')->get();
Airtable::where('id', '>', '5')->get();

第一个或创建

  • 第一个参数用于查找现有
  • 第二个参数是在没有找到结果并创建时保存的额外数据(如果项目已存在则不会保存使用)
Airtable::firstOrCreate(['name' => 'myName'], ['field' => 'myField']);

更新或创建

  • 第一个参数用于查找现有
  • 第二个参数是在创建或更新时保存的额外数据
Airtable::updateOrCreate(['name' => 'myName'], ['field' => 'myField']);

Airtable::table('companies')->firstOrCreate(['Company Name' => $team->name]);

更新

  • 第一个参数将是id
  • 第二个参数是包含更新字段的整个记录

注意:更新是破坏性的,如果没有提供值,则会清除所有未指定的单元格值。请使用PATCH更新指定的字段

Airtable::table('companies')->update('rec5N7fr8GhDtdNxx', [ 'name' => 'Google', 'country' => 'US']);

修补程序

  • 第一个参数将是id
  • 第二个参数是您想要更新的字段
Airtable::table('companies')->patch('rec5N7fr8GhDtdNxx', ['country' => 'US']);

测试

composer test

更新日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

有关详细信息,请参阅CONTRIBUTING

安全

如果您发现任何安全相关的问题,请通过电子邮件steve@tappnetwork.com联系,而不是使用问题跟踪器。

鸣谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件

Laravel Package Boilerplate

此包是使用Laravel Package Boilerplate生成的。