无法从2表创建所需的数组

问题描述 投票:0回答:1

我有3个表,如下所示

学生

id  student_name
1      S1
2      S2
3      S3
4      S4

老师

id    teacher_name
1       T1
2       T2
3       T3

id   student_id   teacher_id
1       1             1
2       2             1

我希望结果数组是这样的

Array
(
    [0] => stdClass Object
        (
            [student_id] => 1
            [teacher_id] => 1
        )

    [1] => stdClass Object
        (
            [student_id] => 2
            [teacher_id] => 1
        )

    [2] => stdClass Object
        (
            [student_id] => 3
            [teacher_id] =>
        )
    [3] => stdClass Object
        (
            [student_id] => 4
            [teacher_id] =>
        )
)

我正在使用的查询是

$query = $this->db->select('*')
  ->from('class')
  ->join('student', 'student.id = class.student_id', 'left')
  ->join('teacher', 'teacher.id = class.teacher_id', 'left')
  ->get();

我进入数组的结果是

Array
(
    [0] => stdClass Object
        (
            [student_id] => 1
            [teacher_id] => 1
        )

    [1] => stdClass Object
        (
            [student_id] => 2
            [teacher_id] => 1
        )
)

任何人都可以告诉我需要做些什么改变才能得到理想的结果

php mysql codeigniter
1个回答
1
投票

你应该在课堂表上加入学生和老师表。但我没有测试这个。

$query = $this->db->select('student.id, teacher.id')
  ->from('student')
  ->join('class', 'class.student_id = student.id', 'left')
  ->join('teacher', 'teacher.id = class.teacher_id', 'left')
  ->get();
© www.soinside.com 2019 - 2024. All rights reserved.