![](/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.