简体   繁体   English

将此SQL查询转换为Codeigniter活动记录

[英]Convert this SQL query to Codeigniter Active Record

This is the query that I need to convert 这是我需要转换的查询

SELECT pdg_matriculas.id_matricula, aluno.nome_aluno, pdg_serie.nome_serie, pdg_turma.nome_turma, aluno.status_aluno, pdg_matriculas.ano_letivo
FROM pdg_matriculas, pdg_serie, pdg_turma, aluno
WHERE pdg_matriculas.id_aluno = aluno.id_aluno
AND pdg_matriculas.id_serie = pdg_serie.id_serie
AND pdg_matriculas.id_turma = pdg_turma.id_turma
ORDER BY `aluno`.`nome_aluno` ASC
LIMIT 0 , 30

I tried to use direct query, It did not work. 我尝试使用直接查询,但没有用。

$this->db->select('SELECT pdg_matriculas.id_matricula, aluno.nome_aluno, pdg_serie.nome_serie, pdg_turma.nome_turma, aluno.status_aluno, pdg_matriculas.ano_letivo
FROM pdg_matriculas, pdg_serie, pdg_turma, aluno
WHERE pdg_matriculas.id_aluno = aluno.id_aluno
AND pdg_matriculas.id_serie = pdg_serie.id_serie
AND pdg_matriculas.id_turma = pdg_turma.id_turma');
$this->db->limit(10);
$query = $this->db->get();

tried with Active Record and also failed 尝试过Active Record,但也失败了

$this->db->select('T1.id_matricula, T2.nome_aluno, T3.nome_serie, T4.nome_turma, T2.status_aluno, T1.ano_letivo',FALSE);
$this->db->from('pdg_matriculas T1, aluno T2, pdg_serie T3, pdg_turma T4');
$this->db->where('T1.id_matricula','T2.id_aluno');
$this->db->where('T1.id_serie','T3.id_serie');
$this->db->where('T1.id_turma','T4.id_turma');
$this->db->order_by('T2.nome_aluno', 'asc'); 
$this->db->limit(10);
$query = $this->db->get();

Can anyone help me convert to Active Record? 谁能帮助我转换为Active Record?

Thanks! 谢谢!

Try this code: 试试这个代码:

 $this->db->select('T1.id_matricula, T2.nome_aluno, T3.nome_serie, T4.nome_turma, T2.status_aluno, T1.ano_letivo',FALSE);
    $this->db->from('pdg_matriculas as T1');
    $this->db->join('aluno as T2','T1.id_matricula = T2.id_aluno');   
    $this->db->join('pdg_serie as T3','T1.id_serie = T3.id_serie');
    $this->db->join('pdg_turma as T4','T1.id_turma = T4.id_turma');
    $this->db->order_by('T2.nome_aluno', 'asc'); 
    $this->db->limit(10);
    $query = $this->db->get();

Sorry for the delay, now it worked, of course a few minor changes, more myth thanks to everyone and keep your reference. 很抱歉延迟了,现在可以了,当然做了一些小改动,更多的神话感谢大家,并保留您的参考。

$this->db->select('T1.id_matricula,aluno.nome_aluno,pdg_serie.nome_serie,pdg_turma.nome_turma,T1.ano_letivo,T1.id_aluno as id_aluno_m,aluno.id_aluno as id_aluno_a,aluno.status_aluno');
$this->db->from('pdg_matriculas T1');
$this->db->join('aluno', 'aluno.id_aluno = T1.id_aluno');
$this->db->join('pdg_serie', 'pdg_serie.id_serie = T1.id_serie');
$this->db->join('pdg_turma', 'pdg_turma.id_turma = T1.id_turma');
$page_data ['alunos_lista'] = $this->db->get ()->result_array ();

Worked Perfect 工作完美

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM