里程碑 / 交互
项目与数据库的直接交互
Requires
- milestone/appframe: ^0.11.3
README
该软件包允许直接与应用框架项目表交互。
安装 appframe
安装 interact
创建一个与传入表同名的类,该类实现了 Milestone\Interact\Table 接口
为所有此类提供通用命名空间,并在配置文件夹中的 interact 配置文件中提及该命名空间。
如果需要导入交互文件中的任何数据,请在类中定义名为 table、mode、primary_key、data 的公共属性
如果存在名为 isValidImportRecord 的方法,则该方法将在执行每个记录之前被调用。
该特定记录将是此方法提供的唯一参数。
此方法应返回布尔值 true、false 或说明无效原因的 string。
如果存在名为 recordImported 的方法,则该方法将在执行每个记录之后被调用。
此方法将接收该特定记录和执行 id。
返回值将被忽略。
如果存在名为 preImport 的方法,则它将在开始导入操作之前被调用。它将提供总内容、修改内容或 null 作为返回值。
如果存在名为 postImport 的方法,则它将在执行整个操作之后被调用。它将提供总内容和结果对象作为参数。这应该响应修改后的结果,否则以 null 返回默认结果对象。
如果需要导出操作的数据,如 _table_、_created_、_updated_,则定义类中的公共属性具有相同的名称如果存在名为 isValidExportGet 或 isValidExportUpdate 的方法,则分别在插入模式或更新模式执行每个记录之前调用此方法。
该特定记录将是此方法提供的唯一参数。
此方法应返回布尔值 true 或 false。
如果存在名为 recordGetExported、recordUpdateExported 的方法,则分别在插入模式或更新模式执行每个记录之后调用此方法。
此方法将接收该特定记录和执行 id。
返回值将被忽略。
如果存在名为 preExportGet、preExportUpdate 的方法,则分别在插入和更新模式的导出操作开始之前调用此方法。它将提供要执行的查询作为参数。此方法应返回相同的或修改后的查询或 null;
如果存在名为 postExportGet、postExportUpdate 的方法,则在整个操作执行之后调用此方法。它将提供 eloquent 记录和导出记录作为参数。返回值将被忽略。
用法
对于导入到网站,发送一个包含多个活动的 json 文件,每个活动由表、主键、模式和数据组成。其中数据将包含所有记录。URL:/interact对于从网站导出,请求格式为 /interact/{tablename}?created_at=datetime&updated_at=datetime&format=xml&type=file 的 URL
根参数 interact 可以在配置中更改为所需的参数