Не получается вывести количество комментариев
Привет сообщество, с помощью pdoResources пытаюсь вывести количество просмотров и комментариев. Просмотры вывести получилось, а вот комментарии никак не осилю, что-то делаю не так. Вот собственно вывод pdoResources:
[[!pdoPage?
&element=`pdoResources`
&loadModels=`tickets`
&showLog=`1`
&limit=`10`
&sortby=`createdon`
&sortdir=`desc`
&parents=`11`
&includeTVs=`newsImage`
&tpl=`news__item_img`
&where=`{ "template":3 }`
&leftJoin=`{
"View": {
"class":"TicketView",
"alias":"View",
"on": "modResource.id = View.parent"
},
"Comment": {
"class":"TicketComment",
"alias":"Comment",
"on": "modResource.id = Comment.thread"
}
}`
&select=`{
"modResource": "*",
"View": "COUNT(View.parent) as views",
"Comment": "COUNT(Comment.thread) as comments"
}`
&tplPageWrapper=`@INLINE <ul class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul>`
&cache=`1`
&sortby=`views`
&groupby=`modResource.id`
]]
Плейсхолдер comments выдает везде 0. Прошу подсказать что делаю не так Комментарии: 10
Если не критично через leftjoin'ы, то можно так внутри чанка:
[[!TicketCommentsCount:default=`0`? &id=`[[+id]]`]]
Сниппетом не проблема, хочу научиться именно джоином
Нужно джойнить TicketThread, а там уже есть количество активных комментов.
Делать как делаешь ты сейчас очень медленно.
Делать как делаешь ты сейчас очень медленно.
Спасибо за подсказку, получилось. Если кому понадобится вот джоины:
Кстати а как быстрее? Выводить своим сниппетом в чанке?
&leftJoin=`{
"View": {
"class":"TicketView",
"alias":"View",
"on": "modResource.id = View.parent"
},
"Thread": {
"class":"TicketThread",
"alias":"Thread",
"on": "modResource.id = Thread.resource"
}
}`
&select=`{
"modResource": "*",
"View": "COUNT(View.parent) as views",
"Thread": "comments"
}`
По скорости да, предполагаю что будет медленно с большим количеством ресурсов и комментариев, но пока особо не ощутимо. Мне главное сейчас было научиться и понять как это работает)Кстати а как быстрее? Выводить своим сниппетом в чанке?
Вот так, как раз, будет быстро — здесь к каждому ресурсу цепляется только одна ветка.
Но тормоза могут быть из-за просмотров, если их будет много.
Но тормоза могут быть из-за просмотров, если их будет много.
Понятно, и можно будет как-то оптимизировать при росте просмотров?
Быстрее всего будет вызывать отдельный сниппет в чанке, который вернёт сумму просмотров.
Только мне не ясно, нафига это всё вообще делать, если есть сниппет getTickets? Он выводит и комменты и просмотры и всё, что угодно, касающееся тикетов.
Только мне не ясно, нафига это всё вообще делать, если есть сниппет getTickets? Он выводит и комменты и просмотры и всё, что угодно, касающееся тикетов.
Тестирую все варианты на скорость)
Результаты тестов опубликуй )
Здравствуйте. Воспользовался вашим вариантом, но все плейсхолдеры в tpl перестали работать. Не подскажете, в чём проблема? modx.pro/help/8673/
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.