我在本地电脑上有两个Web应用程序。
abc.test
使用名为abc
的数据库,def.test
,使用名为def
的数据库,
我的主要目标是检索位于def.test
数据库中的status
。使用abc.test
。
下面是来自abc.test
代码
public function create(): View
{
if(!session()->has('license')){
$response = $this->client->request('POST', 'http://def.test/api/service',[
'form_params' => [
'license_key' => base64_encode(config('def.license'))
],
]);
}
return view('auth.login');
}
and then here is `def.test` controller to handle the request
public function getSubs(Request $request)
{
$license = $this->decryptLicense($request->license_key);
$subs = Subscription::query()->select('service_id', 'status', 'expired_date')->where('license_key', $license)->first();
$data = [
'services' => $subs->service->name,
'status' => $subs->status,
'expired_date' => date('d/m/Y', strtotime($subs->expired_date)),
];
return response()->json(['data' => $data]);
}
当使用Postman时,它工作得很好。但是,当使用abc.test
时,它在Laravel日志中显示此错误
(PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'abc.subscriptions' doesn't exist at D:\\Program\\laravel\\lausystems\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php:416)
谢谢你的回答
1条答案
按热度按时间rxztt3cl1#
设置连接名称(单据多DB连接)
更新:
//服务器1(abc服务器)
//服务器2(def服务器)
或者你可以合并两个服务器上的两个连接。
不要忘记授予对服务器的访问权限(MySQL)(这样服务器1可以与服务器2通信,反之亦然)