Как получить ресурсы планировщика Fullcalender из таблиц БД + PHP - PullRequest
0 голосов
/ 03 августа 2020

Я использую планировщик Fullcalender V5.

Для отображения ресурсов я использую PostgreSQL таблицы базы данных. У некоторых массивов ресурсов есть дочерние элементы, но у некоторых их нет. Я пробовал много циклов, но не смог получить нужный формат.

Общее поле в таблицах - это book_id, который равен main_id в таблице 2.

Вот мой код:

$sql_1 ="SELECT * FROM tc_book_category"; 
$st_1 = pg_query($conn,$sql_1);


$child = array();
$data=array();

$n1 = pg_num_rows($st_1);

while($getRs = pg_fetch_row($st_1))
{
$mid = $getRs['0'];     
$sql_2 = "SELECT * FROM tc_book_sublist WHERE main_id = '$mid'";
$st_2 = pg_query($conn,$sql_2);
$result_2 = pg_fetch_all($st_2);

    if (is_array($result_2) || is_object($result_2))
    {
        foreach($result_2 as $row2)
            {   
            $child[] = array(
            'id' => $row2["main_id"].$row2["spc_id"],
            'title'   => $row2["sbook_name"],
            );
            }
    }
//echo json_encode($child);

$result_1 = pg_fetch_all($st_1);

        foreach($result_1 as $row1)
        {
        $data[] = array(
        'id' => $row1["book_id"],
        'book'   => $row1["main_category"],
        'title'   => $row1["book_name"],
        'children' => $child
        );      
        }
}

echo json_encode($data);

Мне нужно отобразить как:

CATEGORY1
     |
      -------book1
         |
          -------1
         |
          -------2
         |
          -------3
         |
          book3 
CATEGORY2
     |
      -------book2
CATEGORY3
     |
      -------book3
         |
          -------1
         |
          -------2
         |
          -------3 

Как мне это получить?

...