实际上我正在尝试返回包含其他两个表中数据的特定行,我使用CodeIgniter作为框架,我不知道出了什么问题:/
我注意到它只显示来自(usuarios)的数据,没有来自(filiais)或(func_professores)...这里是我的模型文件中的函数,尝试了我在Stack上找到的所有内容,似乎没有任何工作,如果任何人都可以给我一个手,我会感激,因为我对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();
}
我尝试从连接中删除'left',将一个'左'和另一个'右''从两个中删除..没有任何效果。
谢谢。
答案 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();
答案 1 :(得分: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();
}
答案 2 :(得分: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;
}
}
如果任何表格具有相同的列名并且在select中使用,则表示关注,然后将该列名称与表名一起使用,并使用作为关键字
(即,如果2个表具有相同的字段名称:id,我们可以通过使用 table1.id作为id1 并将 table2.id作为id2 来避免歧义)