0

我在 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...)

但是在验证功能中,如果我取消注释第一行并注释查询,它工作正常。

注意:我在邮递员中对其进行了测试,它工作正常。

我该如何解决这个问题?

问候, 萨米

4

2 回答 2

1

我有同样的问题,我只是意识到这只是一个缓存错误。如果有人遇到同样的问题,我将分享解决我的问题的方法。只需在终端中键入以下命令即可清除缓存,它应该可以工作:

php artisan config:clear
php artisan config:cache
php artisan cache:clear
php artisan optimize
于 2020-04-09T17:22:10.210 回答
0

更改数据库连接的 laravel 应用程序 .env 变量名称之一,如下所示

DB_HOST_1=127.0.0.1
DB_PORT_1=3306
DB_DATABASE_1=db_name
DB_USERNAME_1=root
DB_PASSWORD_1=
于 2018-10-06T11:29:41.717 回答