вопрос по сниппету xPDO и бд

Здравствуйте. Можете, пожалуйста, подсказать, почему такой сниппет не отдает всех пользователей?

$output = '';
$sql = "SELECT * FROM modx_users";
foreach ($modx->query($sql) as $row) {
$properties['id'] = $row['id'];
$properties['username'] = $row['username'];
}
$output = $modx->getChunk($tpl,$properties);
return $output;

чанк:

id [[+id]] / user [[+username]]

При вызове отображается только один результат… Таблица modx_users просто для примера

Comments

В цикле вы перезаписываете значения элементов массива *properties∗ивитогепослеобходарезультатаsql−выборкивыиполучаетевproperties* и в итоге после обхода результата sql-выборки вы и получаете в properties только значение последней записи таблицы.

Виктор, не подскажете, как тогда сделать правильно? С оф.сайта взял:

$output = '';
$sql = "SELECT * FROM modx_users";
foreach ($modx->query($sql) as $row) {
$output .= $row['id'] .'
';
}
return $output;

Но не получается разобраться с выводом нескольких значений и чанком

Лично я с чанками особо не работаю, а использую в основном пакеты от modx-клуба. А так,:

$output = '';
$sql = "SELECT * FROM modx_users";
foreach ($modx->query($sql) as $row) {
 $output.= "id ".$row['id'] ."/ user ".$row['username']."\n";
}
return $output;

Спасибо за наводку, теперь работает как надо

$output = '';
$sql = "SELECT * FROM modx_users";
foreach ($modx->query($sql) as $row) {
$output .= $modx->getChunk('mychunk', $row);
}
return $output;