aigorlaxy / google-sheets-model-importer
一个简单的特质,只需通过已发布工作表的链接即可将数据插入或更新到模型中。无需Google API。
v3.4.0
2024-09-11 10:12 UTC
Requires
- php: ^7.3|^8.0
- illuminate/support: ^8.0|^9.0|^10.0
README
一个简单的Laravel支持类,只需通过已发布工作表的链接即可将数据插入或更新到模型中。无需Google API。
安装
您可以通过composer安装此包
composer require aigorlaxy/google-sheets-model-importer
使用
-
创建一个Google电子表格。
-
将其发布到互联网,并设置任何有链接的人都可以查看。
-
将此类包含在您的模型类中并使用它。
-
要创建该类的实例,您需要您的目标模型、您的googleSpreadSheetId和您的特定标签sheet2_gid。
-
要获取您整个工作表的ID,请使用您的已发布Google Sheets链接。链接看起来可能如下所示:https://docs.google.com/spreadsheets/d/e/YOU_GOOGLE_SHEET_SPREADSHEET_ID/something_else
-
要获取您特定的工作表ID,请遵循以下说明:如果您为该模型只有一个标签页,请将gid用作字符串。如果您为同一模型有多个标签页,请使用数组。所有模型必须匹配相同的列模式才能正常工作。链接看起来可能如下所示:https://docs.google.com/spreadsheets/d/YOUR_SPREADSHEET_ID/edit?gid=YOUR_SHEET_ID
-
创建类的实例。
$googleSheetModelImpoter = new GoogleSheetModelImpter(Model $model, string $googleSpreadSheetId, string $googleSheetId);
- 可选属性 8.1. $updateColumnIndex:您可以设置不同的主键来检查更新。如果您的默认主键不是id或您想根据另一列跟踪更新。如果未设置,它将假定id列是您的主键。
$googleSheetModelImpoter->updateColumnIndex = 'your_column_name';
8.2. $columnsToSkip:您还可以设置要跳过的列。应用程序将搜索包含这些字符串之一的列,并跳过这些列的导入。您可以设置单个字符串或一个数组。
$googleSheetModelImpoter->colunsToSkip = 'your_column_in_google_sheets_to_skip';
- 使用示例
$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.
- 如有任何问题或建议,请发送电子邮件给我: igor1523@gmail.com