У меня есть проект со структурой таблицы:
Вверху есть профессора tb_prof Professor
имя пользователя
1 Дэвид
2 Мэтью
3 тома
Второй стол приглашенных лекторов. Здесь его немного сложно. Если приглашенный лектор имеет опыт, они могут преподавать другую гостевую лекцию, у которой нет опыта. Сначала будут отобраны опытные гостевые лекции. Тогда освежители.
tb_guest_le c
имя пользователя fk_profess_id is_experienced trainee_id
1 сара 1 1 ноль
2 яша 1 1 null
3 sam 1 0 null
4 william 1 0 1
5 luk 3 0 1
Последняя таблица - таблица студентов. Каждому гостю лекции назначаются со студентами tb_students
удостоверение личности fk_gust_lec_id
1 Лиза 1
2 Джеймса 1
3 каменщика 2
Наконец, нужна иерархическая древовидная структура. профессора сверху, под гостевыми лекциями, а также студенты низшего уровня (также группа приглашенных лекторов под руководством опытных лекторов)
$res=array();
$gl=$res['guest_lec']= DB::table('tb_guest_lec')->where('fk_professor_id','1')->select(count('id'), *)->get()->toArray();
forech($gl as $g){
if($g['is_experienced']==1){
$res['freshers']= DB::table('tb_guest_lec')->select(count('id'), *)->where('trainee_id',$g['id'])->get();
}
$res['students']= DB::table('tb_students')->select(count('id'), *)->where('fk_gust_lec_id',$g['id'])->get();
}
var_dump($res);
В блейд-цикле с помощью массива можно создать древовидную структуру.
Но можно ли сделать это простым способом, используя eloquent ?