protected function loadRecordTreeFromDatabase($record)
{
$parentFieldName = $this->getParentFieldName($record);
if (false === isset($record[$parentFieldName])) {
$record[$parentFieldName] = $this->getParentFieldValue($record);
}
$records = [];
while (0 < $record[$parentFieldName]) {
$record = $this->loadRecordFromDatabase($record[$parentFieldName]);
$parentFieldName = $this->getParentFieldName($record);
array_push($records, $record);
}
$records = array_reverse($records);
return $records;
}