php - 调用另一个 laravel 项目的 API
问题描述
我有两个 laravel 项目。其中一个有 API
我正在尝试使用 API 获取数据。
public function getSyncOrders() {
$orders = Invoice::where('status', 0)->get();
return response()->json([
'data' => [
'orders' => $orders
]
], 200);
}
我正在尝试在其他 laravel 项目中获取数据。
public function syncOrders() {
if(auth()->check()){
Order::truncate();
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://project1.net/api/sync-orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 600,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET"
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
//echo "cURL Error #:" . $err;
} else {
echo $response;
}
}
else{
return redirect('/');
}
}
但我得到错误:
SQLSTATE [42S02]:未找到基表或视图:1146 表 'project2.invoice' 不存在(SQL:select * from
invoice
wherestatus
= 0)
项目 1 在数据库中有表invoice
,而项目 2orders
在数据库中有表。
如果我在浏览器中使用 url http://project1.net/api/sync-orders
,它会返回数据。
我需要帮助来修复 curl 请求,以便项目 2 不会在其自己的数据库中执行代码和搜索,而是从 API 获取数据。
解决方案
更改项目 2 解决了这个DB_DATABASE
问题config
。env
DB_DATABASE2
推荐阅读
- python - 在 Python 中使用多处理进行 Web Scraping 随机停止
- java - Springboot:需要在 Web-Server 启动时被通知/通知
- angular - 订阅 Angular 反应形式的输入错误
- python - 获取文件创建日期列表并连接熊猫数据框
- video.js - videojs-thumbnails 插件在不正确的时间显示缩略图
- firebase - 如何将 Firebase 控制台与使用 GCP 控制台创建的数据库一起使用?
- matlab - 用于 Fortran 的 mex 网关中 REAL 变量的可移植声明
- javascript - 如何避免通过获取进行另一个网络请求?
- java - 通过正则表达式删除空键
- kubernetes - 在 GKE 容器中存储文件的位置?