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) ? '✓' : '-' ?></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; ?>