Illuminate \ Database \ QueryException (2002) SQLSTATE [HY000] [2002] Нет такого файла или каталога (SQL: выберите * из `арендной платы`) - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь подключить проект Laravel к существующей базе данных.

Я выполнил Eloquent Model Conventions ;тем не менее, я все еще сталкиваюсь со следующей ошибкой:

Illuminate \ Database \ QueryException (2002) SQLSTATE [HY000] [2002] Нет такого файла или каталога (SQL: выберите * из rents)

Вот мой код:

web.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]);
    }

    ...
}

Rent.php

<?php

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


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

welcome.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 Ответ

0 голосов
/ 26 августа 2018

Всем спасибо за помощь!

Я разобрался.Проблема была в DB_HOST.

Я запускаю страницу локально (т.е. php artisan serve), а база данных находится в сети.У меня нет доступа к базе данных на моем локальном компьютере.Вот почему он не мог подключиться.

Итак, вместо DB_HOST = localhost ИЛИ 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 за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...