我有两个表,我想加入它们并获取这样的数据
我有一个多年级的学生

   {
    "student": {
    "studentID": "2",
    "Name": "s1",
    "age": " 12",
    "grade": [
    {
      "GradeID": "2"
    },{
      "GradeID": "3"
    }
]
  }

我从模型中的一个函数中的两个查询获取此数据,然后在控制器中使用json-encode进行输出
但我有这个
{
  "student": {
    "studentID": "2",
    "Name": "s1",
    "age": " 12"
},
    "grade": [
    {
      "GradeID": "2"
    },{
      "GradeID": "3"
    }
]
  }

现在我不知道如何使用json编码作为第一种格式。
谢谢
my model(student):
 function get_student_id($id)
    {
        $student['student']=
            $this->db->select('tbl_student.*')
                 ->from('tbl_student')
                 ->where('tbl_student.SID',$id)
                 ->get()->row();

        $student['grade']=
            $this->db->select('tbl_grade.GradeID')
                ->from('tbl_grade')
                ->join('tbl_sudent','tbl_grade.StudentID=tbl_sudent.SID')
                ->where('tbl_student.SID',$id)
                ->get()->result();



        return $student;
}

我的控制器:
public function get_student_id()
    {

        $id = $input['one'];
        $this->load->model('student');
        $temp=$this->student->get_student_id($id);
        $output= json_encode($temp);

        die($output);

    }

最佳答案

只需正确地构造从模型返回的数组。你把所有的东西都放在两个子数组中,叫做student和grade,这两个子数组在外部数组student中。试试这个:

my model(student):
 function get_student_id($id)
    {
        $student=
            $this->db->select('tbl_student.*')
                 ->from('tbl_student')
                 ->where('tbl_student.SID',$id)
                 ->get()->row();

        $student['grade']=
            $this->db->select('tbl_grade.GradeID')
                ->from('tbl_grade')
                ->join('tbl_sudent','tbl_grade.StudentID=tbl_sudent.SID')
                ->where('tbl_student.SID',$id)
                ->get()->result();



        return $student;
}

我不确定您是否想在第一个查询时调用get->row(),如果不起作用,请尝试get->row_array()

08-07 09:36
查看更多