将内部连接值转换为String - CodeIgniter

时间:2017-08-26 22:46:16

标签: php mysql sql codeigniter

我正在使用一些CodeIgniter在一个学校项目中工作,我在制作视图时遇到了一些问题。

基本上,我需要在屏幕上打印一个列值,为了获得这个值,我必须使用内连接。

form_label($this->db->query("SELECT DISTINCT(MATERIA.NOME) FROM MATERIA INNER JOIN TURMA_has_MATERIA ON 
                            TURMA_has_MATERIA.MATERIA_idMATERIA = MATERIA.idMATERIA
                            WHERE MATERIA.idMATERIA = " . $thm->MATERIA_idMATERIA), "txt_1i")

当我在phpMyAdmin中使用它时,查询工作得很好,但是当它在CodeIgniter视图中使用时会返回一个数组,从而导致错误。是否有任何功能可以帮助我将此值转换为可以打印的内容?谢谢。

1 个答案:

答案 0 :(得分:1)

这就是我通常的连接方式,然后在Codeigniter中打印

[模型]

function get_tutor_info($data) {
    $this->db->select('t1.id, t1.name, t2.nationality, t6.qualification');
    $this->db->from('user t1');
    $this->db->join('nationality t2', 't2.id = t1.nationality_id', 'inner');;
    $this->db->join('qualification t6', 't6.id = t4.qualification_id', 'inner');
    $this->db->where('t1.id', $data['tutor_id']);
    $query = $this->db->get();

    return $query->result_array();
}

[注意] 如果您想获取一个对象而不是获取数组,请更改顶部的返回值。

$query = $this->db->get();
$ret = $query->row();
return $ret->campaign_id;

[图]

<?php foreach($query as $row): ?>
<tr>
    <td><?php echo $row->id; ?></td>
    <td><?php echo $row->name; ?></td>
    <td><?php echo $row->nationality; ?></td>
    <td><?php echo $row->qualification; ?></td>
</tr>
<?php endforeach; ?>

如果您想了解有关如何操作结果的更多信息,请参阅codeigniter documentation

希望这会有所帮助。