【发布时间】:2020-09-16 21:56:29
【问题描述】:
我的 Laravel-5.8 项目中有这个模型:
员工
class Employee extends Model
{
protected $table = 'employees';
protected $primaryKey = 'id';
protected $fillable = [
'staff_code',
'first_name',
'last_name',
'department_id',
];
public function department()
{
return $this->belongsTo('App\Department','department_id');
}
}
即:
应用\员工
我还有一个以 JSON 获取请求形式出现的外部 api。
https://api.employees.net/allemployees
我用邮递员获取请求查看过它,我有这样的东西:
{
"ID": "1",
"StaffCode": "STC001",
"FirstName": "Japheth",
"LastName": "Shalom",
"DepartmentCode": "dep2",
},
{
"ID": "2",
"StaffCode": "STC002",
"FirstName": "Ahitophel",
"last_name": "Nedum",
"DepartmentCode": "dep1",
},
{
"ID": "3",
"StaffCode": "STC003",
"FirstName": "Joash",
"FirstName": "Nathan",
"DepartmentCode": "dep2",
},
等等...继续
我已经创建了这个函数:
use App\Employee;
use App\Department;
public function index()
{
$client = new GuzzleHttp\Client();
$res = $client->request('GET','https://api.employees.net/allemployees');
$clientdatas = json_decode($res, true);
...
}
除了唯一的 id 和 staff_code 之外,其他任何字段也可以从源中更改。
因为任何字段都可以随时更改。如何刷新整个数据库、保存新数据和更新更改?
谢谢
【问题讨论】:
-
一种方法是清除表,并插入新记录。另一种方法是按 ID 检查所有本地记录,并检查其属性是否已从 API 更改。