【发布时间】:2019-08-21 12:07:43
【问题描述】:
我在我的服务器中使用 Laravel 5.8。我有这个外部端点:
这是一个 GET 请求,格式如下所示。
[
{
"ClientID": "C001",
"ClientName": "ABU PLC",
"Address": "ADDRESS LINE 1",
"City": "Lagos"
},
"ClientID": "C002",
"ClientName": "ADE PLC",
"Address": "ADDRESS LINE 1",
"City": "Lagos"
},
"ClientID": "C003",
"ClientName": "JACOB PLC",
"Address": "ADDRESS LINE 1",
"City": "Lagos"
}
]
然后,在我的服务器中,我有这个表:
CREATE TABLE `customers` (
`id` int NOT NULL,
`client_id` varchar(255) UNIQUE NOT NULL,
`client_name` varchar(255) UNIQUE NOT NULL,
`address` varchar(255) NOT NULL,
`city` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
模型类是客户。
client_id 和 client_name 是唯一的,应该是参考点。
我想将端点中的所有数据同时保存在我的客户模型类中。
它应该更新client_id和client_name已经存在的地方,但插入不存在的地方
ClientID 转换为 client_id,ClientName 转换为 client_name,Address 转换为地址
我有这样的事情,但不知道如何继续:
public function apiclient(Request $request)
{
$array_content=[];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.abclm.net/customerss/allcustomers");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //Important
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
$i=0;
foreach(...)
{
$newobj = new Clients();
....
array_push($array_content,$newobj);
$i++;
}
return $array_content;
}
我有类似的东西,但不知道该怎么做。请协助。谢谢。
【问题讨论】: