0

codeigniter フレームワークを使用しています。私はこのフレームワークの経験があまりありません。皆さんの助けが必要です。2 つの異なるデータベースに存在する 2 つのテーブルを結合したいと考えています。両方のテーブルに共通の列が 1 つあります。まず、database.php ファイル内に別のデータベース グループを作成する必要があります。グループを作成し、モデルでこのグループを個別に使用できるようになりました。モデルの「デフォルト グループ」に別のグループもロードしました。各グループを個別に使用しようとしているときはいつでも、問題なく動作しています。しかし、これら2つのデータベースグループを使用して2つのデータベースを結合する方法に苦労しています。

これら2つの別々のグループを使用して、異なるデータベースの2つのテーブルを結合したいと思います。しかし、どこで間違いを犯しているのか正確にはわかりません。

これは私のモデルファイルです。

class Bar_graph extends CI_Model {

                public function __construct () {
                     parent::__construct();
                     $this->db=   $this->load->database('default', TRUE);//This is the default group
                     $this->db2 = $this->load->database('db2', TRUE); //This is the new group I have created
                 }
 //kalix2 and Asterik are my two different database               
               public function join_two_database ()
                {    
                      $cust_id=2;
                      $this->db->select('Kalix2.ph_Companies.CompanyName');
                      $this->db2->select_sum('Asterik.cdr.call_length_billable');
                      $this->db2->select('Asterik.cdr.calldate');
                      $this->db->where('Kalix2.ph_Companies.Cust_ID',$cust_id);
                      $this->db->from('Kalix2.ph_Companies');
                      $this->db2->group_by('Asterik.cdr.CompanyName');
                      $this->db->limit(5);
                      $this->db->join('Asterik.cdr','Kalix2.ph_Companies.CompanyName = Asterik.cdr.CompanyName','inner');
                      $query = $this->db->get();
                     if ($query->num_rows > 0) {
                     return $query-> result(); 
                    }
                }
4

2 に答える 2

1

私の知る限り、これらを 1 つのステートメントで結合することはできません。データベースへの接続は一度に 1 つだけです。1 つのデータベースでクエリを実行し、2 番目のデータベースでクエリを実行してから、PHP 内で両方の結果を操作する必要があります。

于 2013-01-04T16:54:09.710 に答える