我在 localhost 上有 2 个 laravel 项目(正在开发中):
第一个(project1.test)在检查数据库行后返回 api json:
public function postverify(Request $request)
{
// return response()->json(['errors' => false, 'message' => 'site is work'], 200);
$site = Site::whereId($request->site_id)->first();
if (count($site) > 0) {
if ($site->status == 1) {
$errors = false;
$message = 'site is work';
} else {
$errors = true;
$message = 'site is off';
}
} else {
$errors = true;
$message = 'site not found';
}
return response()->json(['errors' => $errors, 'message' => $message], 200);
}
另一个调用上述函数的项目(project2.test),我安装了 guzzle
我开辟了新路线:
Route::get('/check', function () {
$client = new Client([
'base_uri' => 'http://project1.test/api/'
]);
$res = $client->request('POST','verify',[
'http_errors'=>true,
'headers' => [
'Accept' => 'application/json'
],
'form_params' => [
'site_id' => 1
]
]);
dd($res->getBody()->getContents());
});
在上面的代码中,我在 project2.test 中遇到了这个消息:
Server error: `POST http://project1.test/api/verify` resulted in a `500 Internal Server Error` response: { "message": "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'laravel_project2.sites' doesn't exist (SQL: (truncated...)
但是在验证功能中,如果我取消注释第一行并注释查询,它工作正常。
注意:我在邮递员中对其进行了测试,它工作正常。
我该如何解决这个问题?
问候, 萨米