Tabele z elementami podrzędnymi – pogrupowanymi

Tabela powinna posiadać parent_id

Controller / index

$query = $this->EventTypes->find()->find('threaded')->all();

$eventTypes = $this->paginate($query);
$this->set(compact('eventTypes'));

index.php

<tbody>
   <?php foreach ($eventTypes as $eventType): ?>
     <?= $this->element('EventTypes/event-row', ['object' => $eventType]) ?>
   <?php endforeach; ?>
</tbody>

event-row.php

<tr class='<?= $object->parent_id ? "bg-white" : "table-warning" ?>'>
  <td class="text-center"><?= $object->nb ?></td>
  <td><?= ($object->is_active) ? '&check;' : '-' ?></td>
  <td><?= h($object->name) ?></td>
  <td>
      <?= $this->Html->link(__('Edit'), ['action' => 'edit', $object->id]) ?>       <?= $this->Form->postLink(__('Delete'), 
                 ['action' => 'delete', $object->id],
                 ['confirm' => __('Are you sure to delete {0}?', $object->name)]) ?>
  </td>
</tr>

<?php if($object->has('children')): ?>
  <?php foreach ($object->children as $child): ?>
      <?= $this->element('EventTypes/event-row', ['object' => $child]) ?>
  <?php endforeach; ?>
<?php endif; ?>