2014-01-14 45 views
1

其實我想,我正在使用笨作爲框架來返回包含在其他兩個表數據的特定行,我不知道什麼是錯的:/笨加入不工作的選擇

我注意到它只顯示(usuarios)的數據,沒有(filiais)或(func_professores)...這裏是我的模型文件的函數,嘗試了我在堆棧上找到的所有東西,似乎沒有任何工作,如果任何人都可以交給我一隻手將不勝感激,因爲我不擅長SQL和查詢。

function ver_usuario($user_id){ 
    $this->db->where('usuarios.id = "'.$user_id.'"'); // 1 = Administrador, 3 = Recepcionista, 4 = Professores/Personal Trainers, 5 = Gerente 
    $this->db->select('usuarios.id, usuarios.email, usuarios.nome, usuarios.sobrenome, usuarios.cpf, usuarios.sexo, usuarios.data_nascimento, usuarios.telefone, usuarios.celular, usuarios.endereco, usuarios.numero, usuarios.cep, usuarios.bairro, usuarios.cidade, usuarios.estado, usuarios.filial, usuarios.usuario_tipo, usuarios.data_cadastro, filiais.filial_nome, func_professores.fp_email, func_professores.fp_cpf, func_professores.fp_formacao, func_professores.fp_instituicao, func_professores.fp_cref, func_professores.fp_telefone, func_professores.fp_endereco, func_professores.fp_bairro, func_professores.fp_cidade, func_professores.fp_estado'); 
    $this->db->from('usuarios'); 
    $this->db->join('filiais', 'usuarios.filial = filiais.filial_id', 'left'); 
    $this->db->join('func_professores', 'usuarios.cpf = func_professores.fp_cpf', 'left'); 
    return $this->db->get(); 
} 

我試圖消除「左」的加入,把一個「左」和另外一個「正確」的..來自..沒有消除它的工作。

謝謝。

+0

你得到什麼錯誤? – raj

+0

添加您的表格的形象寫作一個適當的查詢 –

+0

感謝球員,它現在工作正常..沒有編輯沒有任何應用程序沒有任何更改提出的其他用戶在這裏。 –

回答

0

變化:

$this->db->select('usuarios.id, usuarios.email, usuarios.nome, usuarios.sobrenome, usuarios.cpf, usuarios.sexo, usuarios.data_nascimento, usuarios.telefone, usuarios.celular, usuarios.endereco, usuarios.numero, usuarios.cep, usuarios.bairro, usuarios.cidade, usuarios.estado, usuarios.filial, usuarios.usuario_tipo, usuarios.data_cadastro, filiais.filial_nome, func_professores.fp_email, func_professores.fp_cpf, func_professores.fp_formacao, func_professores.fp_instituicao, func_professores.fp_cref, func_professores.fp_telefone, func_professores.fp_endereco, func_professores.fp_bairro, func_professores.fp_cidade, func_professores.fp_estado'); 
$this->db->from('usuarios'); 
$this->db->join('filiais', 'usuarios.filial = filiais.filial_id'); 
$this->db->join('func_professores', 'usuarios.cpf = func_professores.fp_cpf'); 
$this->db->where('usuarios.id', $user_id); 
return $this->db->get(); 
+0

也謝謝你,但是我的查詢在今天開始再次運行代碼時突然工作正常,不知道發生了什麼,我也沒有編輯其他任何東西,所以不知道發生了什麼,但現在正在工作..再次感謝你花費你的時間試圖幫助我,真的很感激的人! –

0

試試這個:

function ver_usuario($user_id){ 
    $this->db->select('usuarios.id, usuarios.email, usuarios.nome, usuarios.sobrenome, usuarios.cpf, usuarios.sexo, usuarios.data_nascimento, usuarios.telefone, usuarios.celular, usuarios.endereco, usuarios.numero, usuarios.cep, usuarios.bairro, usuarios.cidade, usuarios.estado, usuarios.filial, usuarios.usuario_tipo, usuarios.data_cadastro, filiais.filial_nome, func_professores.fp_email, func_professores.fp_cpf, func_professores.fp_formacao, func_professores.fp_instituicao, func_professores.fp_cref, func_professores.fp_telefone, func_professores.fp_endereco, func_professores.fp_bairro, func_professores.fp_cidade, func_professores.fp_estado'); 
    $this->db->where('usuarios.id', $user_id); 
    $this->db->from('usuarios');  
    $this->db->join('filiais', 'usuarios.filial = filiais.filial_id'); 
    $this->db->join('func_professores', 'usuarios.cpf = func_professores.fp_cpf'); 
    return $this->db->get(); 
} 
+0

謝謝,但我今天的查詢突然工作正常,當我開始再次在代碼中工作,不知道發生了什麼,我也沒有編輯過別的東西,所以不知道發生了什麼,但事情現在正在工作..再次感謝您的支出你的時間試圖幫助我,真的很感激男人! –

0
function ver_usuario($user_id) 
    { 
     $this->db->select('usuarios.id, usuarios.email, usuarios.nome, usuarios.sobrenome, usuarios.cpf, usuarios.sexo, usuarios.data_nascimento, usuarios.telefone, usuarios.celular, usuarios.endereco, usuarios.numero, usuarios.cep, usuarios.bairro, usuarios.cidade, usuarios.estado, usuarios.filial, usuarios.usuario_tipo, usuarios.data_cadastro, filiais.filial_nome, func_professores.fp_email, func_professores.fp_cpf, func_professores.fp_formacao, func_professores.fp_instituicao, func_professores.fp_cref, func_professores.fp_telefone, func_professores.fp_endereco, func_professores.fp_bairro, func_professores.fp_cidade, func_professores.fp_estado'); 
     $this->db->from('usuarios'); 
     $this->db->join('filiais', 'usuarios.filial = filiais.filial_id', 'left'); 
     $this->db->join('func_professores', 'usuarios.cpf = func_professores.fp_cpf', 'left'); 
     $this->db->where('usuarios.id',$user_id); 
     $query = $this->db->get(); 
      if($query->num_rows() != 0) 
      { 
       return $query->result_array(); 
      } 
      else 
      { 
       return false; 
      } 
    } 

你是關心如果任何表具有相同的列名和在選擇使用,那麼使用該列名與表名稱和使用作爲關鍵字太

(即如果2表具有相同的字段名稱:ID,我們可以通過table1.id作爲ID1table2.id爲ID2避免這些歧義

+0

你的評論應該在代碼塊之外。另外,你想說什麼還很不清楚。我試圖在最後一行編輯你的評論,但被卡住了。請更新,以便它有意義。 – Luceos