2017-07-13 14 views
0

APIの2つのテーブルからデータを選択する必要があります。Codeigniter:条件に基づいて2つのテーブルを結合する

garage_servicesとgarageという2つのテーブルがあります。私はgarage_sevices idを受け取ります。

Garage_services表には、私はgarage_idを選択して、ガレージのテーブルからガレージの詳細を取得する必要があり、ここから、私はのservice_idに基づいて行を選択し、この表から今この

id | garage_id | service _id 

のようなものです

$garages = $this->db 
    ->select('*') 
    ->from('garage_services') 
    ->join('garage', 'garage_services.id=garage.id') 
    ->where($where) 
    ->get(); 

上記は私が思いついた質問です、私は正しいかどうかわかりません。私は$についてもよく分かりません。

私はあなたのソリューションのためのクエリを書かれているここでは、この

+0

私はちょうどガレージのテーブルからあなたの2つのテーブルの詳細 –

+0

を入力してくださいガレージのIDと上記のテーブルを一致させる必要があります。ガレージテーブルのIDは、上記のテーブルのgarage_idと等しくなければなりません – Sikander

+0

garage_service_idを関数の引数として受け取っていますか? –

答えて

0

で私を助けてください。ここで$garage_service_id

$garages = $this->db->from('garage_services as gs, garages as g') 
        ->where('g.id', $garage_service_id, FALSE) 
        ->get(); 

は、あなたの質問にあなたを書かれているとして、関数の引数に渡された変数です。

0

クエリが正しい見て疑問に与えられた条件場所のためにされ、詳細を1として、この

->select('*') 
    ->from('garage_services as t1') 
    ->join('garage as t2', 't1.garage_id = t2.id') 
    ->where('t1.id', $service _id) 
    ->get(); 
0

をお試しください:

$this->db->select('*'); 
$this->db->from('table1'); 
$this->db->join('table2', 'table1.col1 = table2.col1'); 
$this->db->where('table1.col1', 2); 

$query = $this->db->get(); 
関連する問題