Я использую laravel 5. Мне нужно получить некоторые данные из удаленной базы данных MySQL.Удаленное подключение базы данных MySQL Laravel 5 не работает
Я уже установил соединение с базой данных в 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'));
}
и это мое мнение:
...
<tbody>
@foreach ($items as $item)
<tr>
<td>{{$item->id}}</td>
</tr>
@endforeach
</tbody>
...
Когда я пытаюсь загрузить мой взгляд я получаю сообщение об ошибке:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'dvs.ip_products' >doesn't exist (SQL: select * from
ip_products
)
ошибка показывает мне, что Laravel пытается получить таблицу из базы данных dvs (которая является основной базой данных сайта). Поэтому он не использует соединение «remotemysql». Если он не смог подключиться к удаленной базе данных, у него была бы ошибка соединения, но я думаю, что он вообще не использует удаленное соединение.
Что я могу сделать, чтобы исправить эту проблему?
взгляд на '.env' файл в корневой папке вашего приложения (: – num8er
вещи, которые в файл .env всегда будет перезаписана конфигурации – Taacoo
@Taacoo Так что, если я удалить. учетные данные из моего .env и просто поместить его в базу данных.php, он должен работать? Я не собираюсь его обманывать?: P –