我目前正在开发一个具有Customer
模型的Laravel 5.2应用程序,该模型与其他模型有各种关系。此外,我还有第三方应用程序管理客户,并允许我通过他们的REST API获取他们的数据。因为我不想管理重复数据,我的应用程序应该能够从第三方应用程序导入数据,但不能反过来(我的应用程序向第三方添加数据)因为我的应用程序可能有不应该的客户出席第三方应用程序。
我想到了这样的架构:
<?php
Schema::create('customers', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
// ... other relevant attributes (address, phone, etc)
$table->boolean('is_foreign') // Flag weather the data comes from a foreign source
$table->integer('foreign_id') // The id on the third party app
});
然后我会为我的客户创建表单提供类似自动填充javascript的内容,该表单向用户显示来自第三方应用程序的可用客户,如果用户选择外来条目,则在创建时切换is_foreign
。
为了保持最新状态,我每天都会运行Laravel调度程序,并在需要时更新外部数据。
但是我觉得这个问题已经或应该有一个更优雅的解决方案,所以我不知道,这个解决方案的缺陷是什么,有没有人知道更好的方法。< / p>