aigorlaxy/google-sheets-model-importer

一个简单的特质,只需通过已发布工作表的链接即可将数据插入或更新到模型中。无需Google API。

v3.4.0 2024-09-11 10:12 UTC

This package is auto-updated.

Last update: 2024-09-11 10:12:17 UTC


README

Latest Version on Packagist Total Downloads

一个简单的Laravel支持类,只需通过已发布工作表的链接即可将数据插入或更新到模型中。无需Google API。

安装

您可以通过composer安装此包

composer require aigorlaxy/google-sheets-model-importer

使用

  1. 创建一个Google电子表格。

  2. 将其发布到互联网,并设置任何有链接的人都可以查看。

  3. 将此类包含在您的模型类中并使用它。

  4. 要创建该类的实例,您需要您的目标模型、您的googleSpreadSheetId和您的特定标签sheet2_gid。

  5. 要获取您整个工作表的ID,请使用您的已发布Google Sheets链接。链接看起来可能如下所示:https://docs.google.com/spreadsheets/d/e/YOU_GOOGLE_SHEET_SPREADSHEET_ID/something_else

  6. 要获取您特定的工作表ID,请遵循以下说明:如果您为该模型只有一个标签页,请将gid用作字符串。如果您为同一模型有多个标签页,请使用数组。所有模型必须匹配相同的列模式才能正常工作。链接看起来可能如下所示:https://docs.google.com/spreadsheets/d/YOUR_SPREADSHEET_ID/edit?gid=YOUR_SHEET_ID

  7. 创建类的实例。

$googleSheetModelImpoter = new GoogleSheetModelImpter(Model $model, string $googleSpreadSheetId, string $googleSheetId);
  1. 可选属性 8.1. $updateColumnIndex:您可以设置不同的主键来检查更新。如果您的默认主键不是id或您想根据另一列跟踪更新。如果未设置,它将假定id列是您的主键。
$googleSheetModelImpoter->updateColumnIndex = 'your_column_name';

8.2. $columnsToSkip:您还可以设置要跳过的列。应用程序将搜索包含这些字符串之一的列,并跳过这些列的导入。您可以设置单个字符串或一个数组。

$googleSheetModelImpoter->colunsToSkip = 'your_column_in_google_sheets_to_skip';
  1. 使用示例
$model = User::class;
$googleSpreadSheetId = '1gaLFuSnh20kggxEaasr511s15vt3olKqp9o12HenDLI3vA7pg';
$sheetId = '15144122';
$googleSheetModelImpoter = new GoogleSheetModelImpter($model, $googleSpreadSheetId, $googleSheetId);

$googleSheetModelImpoter->updateOrCreate(); // Updating and inserting new data.
$googleSheetModelImpoter->getFreshTable(); // Truncate the current table and inserting the new data.
  1. 如有任何问题或建议,请发送电子邮件给我: igor1523@gmail.com