我正在尝试将一个laravel项目连接到现有数据库。
我遵循了雄辩的典范惯例;但是,我仍然遇到以下错误:
illuminate\database\queryexception(2002)sqlstate[hy000][2002]没有这样的文件或目录(sql:select*from) rents
)
这是我的密码:
网站.php
Route::get('/', [
'uses' => 'RentsController@index'
]);
rentscontroller.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文件,因为它可以在另一个页面上工作。然而,在这一点上,它似乎无法找到'租金'表。
谢谢!!
1条答案
按热度按时间ma8fv8wu1#
各位,谢谢你们的帮助!
我想出来了。问题出在db\u主机上。
我在本地运行这个页面(即php artisan serve),数据库是在线的。我无法访问本地计算机上的数据库。这就是它无法连接的原因。
因此,我将它放在实际主机上,而不是db\u host=localhost或127.0.0.1。
例如:
然后,我需要清除终端中的缓存:
道具到@addweb solution pvt ltd寻求帮助!