簡體   English   中英

Illuminate \\ Database \\ QueryException (2002) SQLSTATE[HY000] [2002] 沒有這樣的文件或目錄 (SQL: select * from `rents`)

[英]Illuminate \ Database \ QueryException (2002) SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from `rents`)

我正在嘗試將 Laravel 項目連接到現有數據庫。

我遵循了雄辯的示范公約 但是,我仍然遇到以下錯誤:

Illuminate \\ Database \\ QueryException (2002) SQLSTATE[HY000] [2002] 沒有這樣的文件或目錄(SQL:從rents選擇 *)

這是我的代碼:

網頁.php

Route::get('/', [
    'uses' => 'RentsController@index'
    ]);

租金控制器.php

<?php

namespace App\Http\Controllers;

use App\Rent;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;


class RentsController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {   
        $rents = Rent::all();
        return view('welcome', ['rents' => $rents]);
    }

    ...
}

租金.php

<?php

namespace App;
use Illuminate\Database\Eloquent\Model;


class Rent extends Model {
    protected $table = 'rents';
}

歡迎.blade.php

<!doctype html>
<html>
    <head>
    </head>
    <body>
        <ul>
            @foreach ($rents as $rent)
                <li>{{ $rent->title }}</li>
            @endforeach
        </ul>
    </body>
</html>

* 可能有問題的一件事是我在本地運行頁面(php artisan serve),而數據庫是真實且在線的。 這會導致問題嗎? 如果是這樣,知道如何解決這個問題嗎? *

知道可能是什么問題嗎? 我的 .env 文件設置正確,因為它可以在另一個頁面上運行。 但是,在這個上,它似乎無法找到“租金”表。

謝謝!!

各位,謝謝你們的幫助!

我想到了。 問題是 DB_HOST。

我在本地運行頁面(即 php artisan serve)並且數據庫在線。 我無權訪問本地計算機上的數據庫。 這就是它無法連接的原因。

所以,我把它放到了實際的主機上,而不是 DB_HOST = localhost OR 127.0.0.1。

例如:

DB_HOST=hostname_from_server
DB_PORT=3306
DB_DATABASE=database_name_on_server
DB_USERNAME=username_on_server
DB_PASSWORD=password_on_server

然后,我需要清除終端中的緩存:

php artisan config:cache
php artisan cache:clear

向@ AddWeb Solution Pvt Ltd尋求幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM