这是一个假设性问题。如果我有来自 3 个单独的 sql db 查询的 3 个数组,这些查询都与另一个相关。例如...
//db
schools
id | school_name
classes
id | class_name | school_id
students
id | student_name | class_id
我想在这样一个巨大的列表中显示所有内容......
//php
foreach(schools as school){
echo '<h1>' . $school->school_name . '<h1>';
foreach(classes as class){
if($class->school_id == $school->id){
echo '<h2>' . $class->class_name . '<h2>';
foreach(students as student){
if($student->class_id == $class->id){
echo '<h3>' . $student->student_name . '<h3>';
}
}
}
}
}
我必须进行 3 次数据库调用。有没有办法在单个数据库查询中获取所有这些信息?就像数组中的数组中的数组然后以某种方式循环一样?或者这是最好的方法吗?