2016-03-18 110 views
0

我在數據庫笨:查詢結果劃分爲關聯數組

1.main_category字段(ID,main_name)兩個表; (ID,main_id,sub_name)調用

main_id這裏被用於從該連接兩個表

2.sub_category字段我想獲得像以下數組

Array 
(
    [CCTV] => Array 
     (
      [0] => Array 
       (
        [id] => 1 
        [main_id] => 4 
        [name] => first 
       ) 

      [1] => Array 
       (
        [id] => 3 
        [main_id] => 4 
        [name] => second 
       ) 

      [2] => Array 
       (
        [id] => 4 
        [main_id] => 4 
        [name] => second 
       ) 

     ) 

    [Security Camera] => Array 
     (
      [0] => Array 
       (
        [id] => 5 
        [main_id] => 5 
        [name] => first 
       ) 

      [1] => Array 
       (
        [id] => 6 
        [main_id] => 5 
        [name] => second 
       ) 

      [2] => Array 
       (
        [id] => 7 
        [main_id] => 5 
        [name] => second 
       ) 

     ) 

) 

這裏的key結果數組是main_name字段,它來自main_category表,每個鍵的關聯數組包含與條件匹配的

where main_category.id=sub_category.main_id

我想db查詢實現上述result.is它可能與連接查詢?

+0

你可以探討你的問題。 contorller,型號 – NomanJaved

+0

我沒有寫任何查詢的 –

+0

你需要用這兩個表連接查詢嗎? –

回答

1

這是連接查詢的結構,您可以根據自己的需求進行更改。

function myfun($id){ 
    $query = "select main_cat.*, sub_cat.* from main_category main_cat 
    Join sub_category sub_cat 
    ON main_cat.id = sub_cat.main_id 
    where main_cat.id = $id"; 
    $data = $this->db->query($query); 
    return $data->result_array(); 
} 

希望這對你有幫助。

+0

但我想像我的陣列格式 –

0

嘗試理解查詢並根據需要進行修改,如表1和子類別中的required.main_cat所示。已經你已經給了一半的解決方案sub_category.employee_id = main_cat.employee_id

$this->db->select("main_cat.id,main_cat.main_id,main_cat.name,sub_category.id,sub_category.main_id,sub_category.sub_name"); 
    $this->db->from('main_cat'); 
    $this->db->join('sub_category', 'sub_category.employee_id = main_cat.employee_id'); 
    $this->db->where('id', $id); 
    $query = $this->db->get(); 
    return $query->result(); 
+1

結果但這已經回答 –

+0

@BlessanKurien:它確定。你的問題解決了嗎? –

+0

Nop :)我想修改數組我的數組結構。請看看我的數組structyre –

0

你好,你使用codeignitor所以使用codeignitor MySQL查詢結構是未來

$this->db->select("main_cat.id,main_cat.main_id,main_cat.name,sub_category.id,sub_category.main_id,sub_category.sub_name"); 
    $this->db->from('main_cat'); 
    $this->db->join_using('sub_category', 'employee_id'); 
    $this->db->where(tablename.'id', $id); 
    $query = $this->db->get(); 
    return $query->result(); 

EMPLOYEE_ID最好的做法是常見的兩種表,以便使用join_using其他明智的你使用加入這樣的

$this->db->join('sub_category', 'sub_category.employee_id = main_cat.employee_id');