Объединение между базами данных в laravel 8

#laravel #postgresql

#laravel #postgresql

Вопрос:

Здравствуйте, я делаю соединение между 2 базами данных, они имеют идентичную структуру таблиц: две базы db1 данных с таблицей weather1 и db2 с таблицей weather2

  $weather = DB::connection('db1')->table('weather1')
    ->whereBetween('recordtime', $dateScope)
    ->join('db2.weather2', 'db2.weather2.recordtime', '=', 'recordtime')
    ->selectRaw('recordtime,tempout,db2.map1_weather2.tempout as tempout2')
    ->orderBy('recordtime', 'ASC')
    ->get();
 

Ошибка:

 SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "db2.weather2" does not exist LINE 1:
 

Я назвал базы данных в .env и database.php

Как заставить это работать?

Комментарии:

1. Вы имеете в виду, что таблица weather2 находится в другой базе данных с именем db2 ?

2. Да, две базы данных db1 с таблицей weather1 и db2 с таблицей weather2

3. Попробуйте удалить DB::connection и использовать метки соединений в качестве префиксов (например db1.weather1 , db2.weather2 ).

4. Как по-другому обстоит дело с Eloquent?