На данный момент имеется таблица pdfs (id, version, parent_id) и модель App\Pdf.
При создании новой записи в таблице, вручную добавляю в модель в поле parent_id текущий ID, а в версию сохраняется null. Возникла необходимость добавить в эту структуру возможность изменения данных, при этом, к примеру, изменяя PDF-файл с ID 5, мы должны получить следующую запись в БД: id = *increment*, version = 1, parent_id = 5. Т.е. мы делаем дочернюю запись, связывая поле по parent_id.
Понимаю, что это костыль. Как правильнее реализовать древовидную структуру с максимальной вложенностью в 1 шаг, но при этом с генерацией id в виде 5.1, 5.2 и т.д. ?
Вы можете создать поле parent_data и положите туда json_encode данных. А далее распарсите как Вам нужно.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости