![](/img/trans.png)
[英]Illuminate\Database\QueryException: SQLSTATE[HY000] [2002] in file Illuminate/Database/Connection.php on line 678
[英]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.