| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sumo 05.04.2014 21:40 / 05.04.2014 21:47
@onTest1[aRequest][locals]
$lFlates[^core.regions.flates.aggregate[_fields(flatID, flatID, houseID, flatNumber, address, regionID, createdAt);
$.houseID[57]
$.orderBy[$.flatNumber[desc]]
$.asHash(true)
$.limit(5)
$.offset(^aRequest.offset.int(0))
]]
$lFlates[^_processFlates[$lFlates]]
$result[
$.type[as-is]
$.content-type[application/json]
$.body[^json:string[$lFlates;$.indent(true)]]
]
@_processFlates[aFlates][locals]
$result[^hash::create[$aFlates]]
^result.foreach[k;v]{
$v.formatedDate[^formater.date[$v.createdAt]]
$v.rnd[^math:random(25)]
$v.formatedRnd[$v.rnd ^formater.numberDecline[$v.rnd;число;числа;чисел]]
} SQL-запрос получился такой: select `flt`.`flat_id` as `flatID`, `flt`.`flat_id` as `flatID`, `flt`.`house_id` as `houseID`, `flt`.`flat_number` as `flatNumber`, concat(`str`.`street_name`,
", д. ", `hs`.`house_number`,
if(`hs`.`house_korp` != "", concat(", корп. ", `hs`.`house_korp`), ""),
if(`hs`.`house_str` != "", concat(", стр. ", `hs`.`house_str`), ""),
if(`flt`.`flat_number` != "", concat(", кв. ", `flt`.`flat_number`), "")
)
as `address`, `hs`.`region_id` as `regionID`, `flt`.`created_at` as `createdAt`
from `regions_flates` as `flt`
join `regions_houses` as `hs` on (`flt`.`house_id` = `hs`.`house_id`)
join `regions_streets` as `str` on (`hs`.`street_id` = `str`.`street_id`)
left join `regions_accounts` as `acc` on (`flt`.`flat_id` = `acc`.`flat_id`)
where 1=1 and (`flt`.`house_id` = 57)
group by flatID
order by `flt`.`flat_number` desc
limit 5В браузере получил json: {
"3891533":{
"flatID":"3891533",
"houseID":"57",
"flatNumber":"99",
"address":"Ивана Бабушкина ул., д. 3, кв. 99",
"regionID":"281",
"createdAt":"2013-08-05 14:26:06",
"formatedDate":"5 августа 2013 г.",
"rnd":"2",
"formatedRnd":"2 числа"
},
"3891532":{
"flatID":"3891532",
"houseID":"57",
"flatNumber":"98",
"address":"Ивана Бабушкина ул., д. 3, кв. 98",
"regionID":"281",
"createdAt":"2013-08-05 14:26:06",
"formatedDate":"5 августа 2013 г.",
"rnd":"7",
"formatedRnd":"7 чисел"
},
"3891531":{
"flatID":"3891531",
"houseID":"57",
"flatNumber":"97",
"address":"Ивана Бабушкина ул., д. 3, кв. 97",
"regionID":"281",
"createdAt":"2013-08-05 14:26:06",
"formatedDate":"5 августа 2013 г.",
"rnd":"15",
"formatedRnd":"15 чисел"
},
"3891530":{
"flatID":"3891530",
"houseID":"57",
"flatNumber":"96",
"address":"Ивана Бабушкина ул., д. 3, кв. 96",
"regionID":"281",
"createdAt":"2013-08-05 14:26:06",
"formatedDate":"5 августа 2013 г.",
"rnd":"24",
"formatedRnd":"24 числа"
},
"3891529":{
"flatID":"3891529",
"houseID":"57",
"flatNumber":"95",
"address":"Ивана Бабушкина ул., д. 3, кв. 95",
"regionID":"281",
"createdAt":"2013-08-05 14:26:06",
"formatedDate":"5 августа 2013 г.",
"rnd":"7",
"formatedRnd":"7 чисел"
}
}Мне кажется, что сортировка по flatNumber правильная, а не вразнобой.