{"id":36997072,"url":"https://github.com/anthonypauwels/php-airtable","last_synced_at":"2026-01-13T23:52:48.255Z","repository":{"id":58194460,"uuid":"473241911","full_name":"anthonypauwels/php-airtable","owner":"anthonypauwels","description":"An Airtable Client","archived":false,"fork":false,"pushed_at":"2022-08-30T06:20:25.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-07-16T16:06:17.427Z","etag":null,"topics":["airtable","airtable-api","laravel-package","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anthonypauwels.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-23T15:12:04.000Z","updated_at":"2023-06-21T13:00:54.000Z","dependencies_parsed_at":"2022-08-31T05:20:53.802Z","dependency_job_id":null,"html_url":"https://github.com/anthonypauwels/php-airtable","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"purl":"pkg:github/anthonypauwels/php-airtable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonypauwels%2Fphp-airtable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonypauwels%2Fphp-airtable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonypauwels%2Fphp-airtable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonypauwels%2Fphp-airtable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anthonypauwels","download_url":"https://codeload.github.com/anthonypauwels/php-airtable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonypauwels%2Fphp-airtable/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28405573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T21:51:37.118Z","status":"ssl_error","status_checked_at":"2026-01-13T21:45:14.585Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airtable","airtable-api","laravel-package","php"],"created_at":"2026-01-13T23:52:47.655Z","updated_at":"2026-01-13T23:52:48.249Z","avatar_url":"https://github.com/anthonypauwels.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PHP AirTable\n\nAn Airtable Client.\n\n## Installation\n\nRequire this package with composer.\n```shell\ncomposer require anthonypauwels/airtable\n```\n\n### Laravel without auto-discovery:\n\nIf you don't use auto-discovery, add the ServiceProvider to the providers array in `config/app.php`:\n```php\nAnthonypauwels\\AirTable\\Laravel\\ServiceProvider::class,\n```\n\nThen add this line to your facades in `config/app.php`:\n```php\n'AirTable' =\u003e Anthonypauwels\\AirTable\\Laravel\\AirTable::class,\n```\n\n## Usage\n\n```php\nuse Anthonypauwels\\AirTable\\AirTable;\n\n$airTable = new AirTable( [\n    'key' =\u003e 'key**************',\n    'base' =\u003e 'app**************',\n    'url' =\u003e AirTable::API_URL,\n] );\n\n$recordsA = $airTable-\u003etable('Your table')-\u003eview('View')-\u003eget();\n$recordsB = $airTable-\u003etable('Another table')-\u003ewhere('key', '=', 'value' )-\u003eview('In view this view')-\u003eget();\n```\n\n### With Laravel\n\nDefine your environment variables into your .env file :\n```dotenv\nAIRTABLE_KEY=\"key**************\"\nAIRTABLE_BASE=\"app**************\"\n```\n\nThe package provides by default a Facade for Laravel application. You can call methods directly using the Facade or use the alias instead.\n```php\nuse Anthonypauwels\\AirTable\\Laravel\\AirTable;\n\n$recordsA = AirTable::table('Your table')-\u003eview('View')-\u003eget();\n```\n\n### API documentation\n\n#### AirTable\n```php\n/**\n * Get a builder for a table from the default base\n */\nfunction table(string $table_name): Builder;\n\n/**\n * Get a base\n */\nfunction on(string $base_id): Base;\n```\n\n#### Base\n```php\n/**\n * Get a builder for a table \n */\nfunction table(string $table_name): Builder;\n```\n\n#### Client\n```php\n/**\n * Count the number of elements inside the query\n */\nfunction count(): int;\n\n/**\n * If AirTable must perform an automatic data conversion from string values\n */\nfunction typecast(bool $value): Builder;\n\n/**\n * Delay between request\n */\nfunction delay(int $value): Builder;\n\n/**\n * Search for specific fields from records\n */\nfunction fields(array|string $fields): Builder;\n\n/**\n * Filter records using a logical where operation\n */\nfunction where(string $field, mixed $operator, $value = null): Builder;\n\n/**\n * Filter records using a raw query\n */\nfunction whereRaw(string $formula): Builder;\n\n/**\n * Get records from a specific view\n */\nfunction view(string $view_name): Builder;\n\n/**\n * Order records by a field and direction\n */\nfunction orderBy(string $field, string $direction = 'asc'): Builder;\n\n/**\n * Set the limit value to get a limited number of records\n */\nfunction limit(int $value): Builder;\n\n/**\n * Alias to limit method\n */\nfunction take(int $value): Builder;\n\n/**\n * Set the offset value to get records from a specific page\n */\nfunction offset(int $value): Builder;\n\n/**\n * Alias to offset method\n */\nfunction skip(int $value): Builder;\n\n/**\n * Get records with a limit of 100 by page\n */\nfunction get(): array;\n\n/**\n * Method alias to get, return all records\n */\nfunction all(): array;\n\n/**\n * Get the first record\n */\nfunction first(): array;\n\n/**\n * Find a record using his ID\n */\nfunction find(string $id): array;\n\n/**\n * Insert a record\n */\nfunction insert(array $data): array;\n\n/**\n * Update a record or many records. Destructive way\n */\nfunction update(array|string $id, array $data = null): array;\n\n/**\n * Patch a single record or many records\n */\nfunction patch(array|string $id, array $data = null): array;\n\n/**\n * Delete a single record\n */\nfunction delete(string $id): array;\n```\n\n### Requirement\n\nPHP 8.0 or above","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonypauwels%2Fphp-airtable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthonypauwels%2Fphp-airtable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonypauwels%2Fphp-airtable/lists"}