Я уже настроил подключение к базе данных в config/database.php.Вот как это выглядит:
Код: Выделить всё
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'remotemysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '************'),
'database' => env('DB_DATABASE', 'osys'),
'username' => env('DB_USERNAME', 'Syn'),
'password' => env('DB_PASSWORD', '****************'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
],
Чтобы проверить это, я просто получил соединение с базой данных и данные в моем контроллере, чтобы отправить их в представление, чтобы проверить, все ли работает нормально. Это мой контроллер:
Код: Выделить всё
...
use DB;
...
public function item()
{
$items = DB::connection('remotemysql')
->table('ip_products')
->get();
return view('admin.item', compact('items'));
}
Код: Выделить всё
...
@foreach ($items as $item)
{{$item->id}}
@endforeach
...
SQLSTATE[42S02]: Базовая таблица или представление не найдено: 1146 Таблица «dvs.ip_products» >не существует (SQL: выберите * из ip_products)
Показывает ошибку Мне кажется, что Laravel пытается получить таблицу из базы данных dvs (которая является основной базой данных сайта). Поэтому он не использует соединение «remotemysql». Если бы ему не удалось подключиться к удаленной базе данных, возникла бы ошибка подключения, но я думаю, что удаленное соединение вообще не используется.
Что я могу сделать, чтобы решить эту проблему?< /п>
Подробнее здесь: https://stackoverflow.com/questions/408 ... ot-working
Мобильная версия