Laravel: объединить две таблицы разных соединений БД - PullRequest
0 голосов
/ 20 марта 2019

Можно ли объединить две таблицы разных соединений БД (mysql и oracle на двух разных серверах) на основании условия?

Я хочу выполнить этот запрос:

DB::connection('oracle')->table('SYSADM.PS_KS_COM_PERS_INF AS PRES')
->join(DB::connection('mysql')->table('students AS STU'), 
'PRES.NATIONAL_ID','=','STU.NationalID')
->where('PRES.STUDENT_STATUS', '=', 'Record Closed')
->where('STU.Batch', '=', $value->Batch)
->get(); // or count();

Я создал модель каждой таблицы и соединения,

но я не смог соединить две модели двух дБ соединений

1 Ответ

0 голосов
/ 20 марта 2019

Можно ли объединить две таблицы разных соединений БД (mysql и oracle на двух разных серверах)

номер

Oracle предлагает гетерогенный доступ через функцию Database Gateway для ODBC . Как только эта функция будет настроена правильно, вы сможете выполнять такие запросы.

 DB::connection('oracle')->table('some_oracle_table')->join('some_mysql_table@mysqlConnection') ...

Объяснение того, как настроить эту функцию, выходит за рамки ответа о переполнении стека. Обратитесь за помощью к своему администратору базы данных.

Или просто прочитайте данные из вашего соединения Oracle и вашего соединения MySQL отдельно и сопоставьте их в вашей программе. Это способ сделать работу в этом году.

...