Сортировка getMany()
        Подскажите пожалуйста, как отсортировать объекты по полю from_date при получении их через getMany().
Заранее благодарен!
    
    
                                                                                
            $c = $modx->newQuery('newEraDtObj');
$c->sortby($sortby, $sortdir);
$items = $modx->getIterator('newEraDtObj', $c);
foreach ($items as $item) {
    $forecast_dtss = $item->getMany('newEraDtForecast');Необходимо отсортировать объекты получаемые по связи newEraDtForecast по полю from_date$item->getMany('newEraDtForecast')Нашел вариант: $criteria = $modx->newQuery('modResource');
$criteria->where(array(
   'parent' => $modx->resource->get('id'),
));
$criteria->sortby('pagetitle','ASC');
$children = $modx->resource->getMany('Children',$criteria);Но не понял, как мне его использовать.Заранее благодарен!
Комментарии: 3
$newEraDtObj = $modx->getObject('newEraDtObj');
$c = $modx->newQuery('newEraDtForecast'));
$c->sortby('from_date', 'ASC');
$forecast_dtss = $newEraDtObj->getMany('newEraDtForecast',$c);            
                Не выходит(((( подскажите, в какой момент вставлять foreach?
Полный код сниппета:
                    Полный код сниппета:
$c = $modx->newQuery('newEraDtObj');
$c->sortby($sortby, $sortdir);
$items = $modx->getIterator('newEraDtObj', $c);
// Iterate through items
$list = array();
/** @var new_eraItem $item */
foreach ($items as $item) {
    $orgs = $item->getOne('newEraOrg');
    $org = $orgs->toArray();
    $objs = $item->getOne('newEraObj');
    $obj = $objs->toArray();
    $obj_types = $objs->getOne('newEraObjTypes');
    $obj_type = $obj_types->toArray();
    $ms = $objs->getOne('newEraM');
    $m = $ms->toArray();
    $list = $item->toArray();
    $newEraDtObj = $modx->getObject('newEraDtObj', $list['id']);
    $c = $modx->newQuery('newEraDtForecast');
    $c->sortby('from_date', 'ASC');
    $forecast_dtss = $newEraDtObj->getMany('newEraDtForecast',$c);
    if ($group['user_group']==3) {
        if ($m['id'] == $extended['m_dostup']) {
            $ts = $item->getOne('newEraDtObjTypes');
            $t = $ts->toArray();
            $ws = $item->getOne('newEraWorks');
            $w = $ws->toArray();
            $output .= '
<form method="POST" class="form_required" action="javascript:void(null);" id="'.$list['id'].'" onsubmit="send_dt_forecast(['.$list['id'].'])">
<input type="hidden" name="id_obj" value="'.$list['id'].'">
<table class="table table-bordered table-forecast">
    <tr>
        <th>' . $list['id'] . '</th>
        <th>' . $list['name'] . '</th>
        <th>' . $list['passport'] . '</th>
        <th>' . $org['name'] . '</th>
        <th>' . $m['name'] . ' -> ' . $obj_type['name'] . ' ' . $obj['name'] . '</th>
        <th>' . $t['name'] . '</th>
        <th>' . $w['name'] . '</th>
    </tr>';
            $output .= '<tr><td colspan="7">';
            if ($forecast_dtss) {
                $k=0;
                foreach ($forecast_dtss as $forecast_dts) {
                    $k++;
                    $forecast_dt=$forecast_dts->toArray();
                    $output .= '<p>С: <input type="text" class="from" name="from[]" value="'.$forecast_dt['date_from'].'"> По: <input type="text" class="to" name="to[]" value="'.$forecast_dt['date_to'].'"> Планируемый среднесуточный расход ДТ: <input type="text" name="expense[]" value="'.$forecast_dt['expense'].'"> м³ <span class="remove_string"><i class="icon-remove"></i></span></p>';
                }
            } else {
                $k=1;
                $output .= '<p>С: <input type="text" class="form_required_input from" name="from[]"> По: <input type="text" class="form_required_input to" name="to[]"> Планируемый среднесуточный расход ДТ: <input type="text" class="form_required_input only_num_in_field" name="expense[]"> м³</p>';
            }
            $output .= '<p><span class="submit_button btn btn-primary add">Добавить дополнительный период</span> <input value="Сохранить данные" type="submit" class="submit_button btn btn-primary submit_button_send"> <span id="result_'.$list['id'].'"></span></p>
<input type="hidden" name="num_of_rows" class="num_of_rows" value="'.$k.'"></td></tr>';
            $output .= '</table></form>';
        }
    } else {
        $ts = $item->getOne('newEraDtObjTypes');
        $t = $ts->toArray();
        $ws = $item->getOne('newEraWorks');
        $w = $ws->toArray();
        $output .= '
<form method="POST" class="form_required" action="javascript:void(null);" id="'.$list['id'].'" onsubmit="send_dt_forecast(['.$list['id'].'])">
<input type="hidden" name="id_obj" value="'.$list['id'].'">
<table class="table table-bordered table-forecast">
    <tr>
        <th>' . $list['id'] . '</th>
        <th>' . $list['name'] . '</th>
        <th>' . $list['passport'] . '</th>
        <th>' . $org['name'] . '</th>
        <th>' . $m['name'] . ' -> ' . $obj_type['name'] . ' ' . $obj['name'] . '</th>
        <th>' . $t['name'] . '</th>
        <th>' . $w['name'] . '</th>
    </tr>';
        $output .= '<tr><td colspan="7">';
        if ($forecast_dtss) {
            $k=0;
            foreach ($forecast_dtss as $forecast_dts) {
                $k++;
                $forecast_dt=$forecast_dts->toArray();
                $output .= '<p>С: <input type="text" class="from" name="from[]" value="'.$forecast_dt['date_from'].'"> По: <input type="text" class="to" name="to[]" value="'.$forecast_dt['date_to'].'"> Планируемый среднесуточный расход ДТ: <input type="text" name="expense[]" value="'.$forecast_dt['expense'].'"> м³ <span class="remove_string"><i class="icon-remove"></i></span></p>';
            }
        } else {
            $k=1;
            $output .= '<p>С: <input type="text" class="form_required_input from" name="from[]"> По: <input type="text" class="form_required_input to" name="to[]"> Планируемый среднесуточный расход ДТ: <input type="text" class="form_required_input only_num_in_field" name="expense[]"> м³</p>';
        }
        $output .= '<p><span class="submit_button btn btn-primary add">Добавить дополнительный период</span> <input value="Сохранить данные" type="submit" class="submit_button btn btn-primary submit_button_send"> <span id="result_'.$list['id'].'"></span></p>
<input type="hidden" name="num_of_rows" class="num_of_rows" value="'.$k.'"></td></tr>';
        $output .= '</table></form>';
    }
}            
                Нашел решение: 
                    $sortby = $modx->getOption('sortby', $scriptProperties, 'date_from');
    $sortdir = $modx->getOption('sortbir', $scriptProperties, 'ASC');
    $c = $modx->newQuery('newEraDtForecast');
    $c->where(array(
        'id_obj' => $list['id'],
    ));
    $c->sortby($sortby, $sortdir);
    $forecast_dtss = $modx->getIterator('newEraDtForecast', $c);
    $count_dtss = $modx->getCount('newEraDtForecast', $c);            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.