У меня есть две базы данных mysql на двух разных серверах.Я загрузил свои экземпляры базы данных как db и db2.Посмотрите на мой код ниже:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Product_model extends CI_Model
{
function __construct()
{
parent::__construct();
$this->db= $this->load->database('db', true);
$this->db2= $this->load->database('db2', true);
}
function jointables()
{
$this->db->select('*');
$this->db->from('adb.items O');
$this->db2->join('bdb.products P', 'O.ID=P.ID', 'inner');
$this->db->limit(2,1);
$query = $this->db->get();
print_r($query->result_array());
echo "</br>";
$this->db2->select('*');
$this->db2->from('bdb.products');
$this->db2->limit(2,1);
$query2 = $this->db2->get();
print_r($query2->result_array()); exit;
}
}
В функции jointables я пытаюсь применить внутреннее соединение к таблице элементов из db и таблице продуктов из db2.Когда начинается выполнение, по моему мнению, все экземпляры, относящиеся к db, выполняются в первой части до тех пор, пока строка $query = $this->db->get();
Строка $this->db2->join('bdb.products P', 'O.ID=P.ID', 'inner');
не будет выполнена, поскольку запросы, относящиеся к db2, еще не выполнены.Из-за этого я не получаю желаемого результата.Как мне убедиться, что вывод экземпляра db2 доступен мне, когда выполнение начинается со строки $this->db->select('*');
?