public function findThreaded(Query $query, array $options)
{
$options += ['keyField' => $this->primaryKey(), 'parentField' => 'parent_id', 'nestingKey' => 'children'];
if (isset($options['idField'])) {
$options['keyField'] = $options['idField'];
unset($options['idField']);
trigger_error('Option "idField" is deprecated, use "keyField" instead.', E_USER_DEPRECATED);
}
$options = $this->_setFieldMatchers($options, ['keyField', 'parentField']);
return $query->formatResults(function ($results) use($options) {
return $results->nest($options['keyField'], $options['parentField'], $options['nestingKey']);
});
}