Laravel,从api获取数据并将其保存在数据库中[关闭]
Posted
技术标签:
【中文标题】Laravel,从api获取数据并将其保存在数据库中[关闭]【英文标题】:Laravel, get data from api ans save it in database [closed] 【发布时间】:2021-10-21 05:05:01 【问题描述】:我安装了 guzzle laravel 包,并显示来自 api 的数据。我想将此数据保存在数据库中。我找不到足够的资源来做这件事
route
controller
response
【问题讨论】:
到目前为止你尝试了什么? 我尝试显示来自 api 的原始数据,我成功了。然后我只发布了一个(客户的)数据,我试图保存,但我不能。但我想先保存数据然后再显示。你不会有一个例子 @OthmaneHaddouche Aless55 的意思是您必须将您尝试过的代码添加到您的问题中。这样我们就可以帮助您编写代码。 您想从 API 中获取数据并将其放入您的数据库中吗? 控制器类 RequestController 扩展控制器 public function getAllOrders(Request $request) $client = new \GuzzleHttp\Client(); $res=$client->request('GET', 'nextimes.dz/wp-json/wc-analytics/orders', ['auth' => ['ck_e53c61c53e04fe95cefd9b6ecbd1323e3470b4d6', 'cs_c737add5943fec2ede120c266c6f9ecbd41973c9']]); $jsonArray = json_decode($res->getBody()->getContents(), true);返回 $jsonArray; Route::get('/orders',[RequestController::class,'getAllOrders']);这就是我获取所有数据的方式,我想将一些数据保存在我的数据库中 【参考方案1】:public function all()
$response = $client->request('GET', 'http://api'); // Pass the third parameter as an array if you have to set headers
$response = json_decode($response->getBody(), true); // The API response data
// You should put your data in the loop.
$data = collect($response); // So we create an collection to use helper methods
$data->map(function ($item)
// Now, we can save the data to the database with two methods
// Model:
YourModel::create([
'column' => $item['key'],
]);
// Query builder:
DB::table('your_table')->insert([
'column' => $item['key'],
]);
);
【讨论】:
非常感谢我可以通过这个链接将我的数据添加到数据库中:devdojo.com/bobbyiliev/…以上是关于Laravel,从api获取数据并将其保存在数据库中[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 IF 语句从数据库中获取数据并将其保存到字符串中?
Laravel Eloquent:获取嵌套关系中的数据总和并将其添加为新属性
如何从 API 转换一些 RAW 数据并将其保存到变量中,以便我可以在 C# 中使用它们
Laravel 中是不是有任何方法可以在外部 API 中验证用户并将其保存到本地会话,以便我可以使用所有 User:: 和 Auth:: 函数?