getTickets и фильтрация тикетов по tv
Всем привет!
Василий, хотелось бы узнать у тебя про такой момент.
С компонентом Tickets только начал разбираться, может быть ход мыслей где-то будет неверен…
Вот ты говорил, что getTickets не умеет работать с TV. По коду сниппета это понятно, да :-)
Но вот надо вывести тикеты вместе с парочкой tv-шек да и ещё и отфильтровать по ним. TV параметры самые обыкновенные, т.е. мне просто нужно получить ячейку со значением, приджойнив таблицу с tv.
По логике ничто не мешает мне дописать в сниппет:
Ну, естественно, добавив параметры вызова, что-то вроде &useTVs=`true` и &whereTV=`{«json»:«string»}`
и подкорректировать сниппет, чтобы в запросе таблицу с TV джойнить только при необходимости (useTVs == true) и сливать $where с $whereTV.
Кажется мне, что проблем возникнуть не должно.
Время сейчас раннее, пробовать буду позже, поэтому решил вот узнать.
Внимание вопрос.
А взлетит?
Ну т.е. ты же не включил работу с tv не просто так? Наверняка были ведь какие-то весомые причины, о которых я ещё не знаю? Возможно не только из-за тормознутости и лишней нагрузки, может было что-то ещё. Есть ли какие-то подводные камни, из-за которых вышеописанный способ может не сработать? Или идея норм и флаг в руки и вперёд? :-)
Василий, хотелось бы узнать у тебя про такой момент.
С компонентом Tickets только начал разбираться, может быть ход мыслей где-то будет неверен…
Вот ты говорил, что getTickets не умеет работать с TV. По коду сниппета это понятно, да :-)
Но вот надо вывести тикеты вместе с парочкой tv-шек да и ещё и отфильтровать по ним. TV параметры самые обыкновенные, т.е. мне просто нужно получить ячейку со значением, приджойнив таблицу с tv.
По логике ничто не мешает мне дописать в сниппет:
,'leftJoin' => '[
...
]'
/**
* вот это:
*/
,'innerJoin' => '[
{"class":"modTemplateVarResource","alias":"TVs","on":"Ticket.id=TVs.contentid"}
]'
/**/
,'select' => '{
...
}'Ну, естественно, добавив параметры вызова, что-то вроде &useTVs=`true` и &whereTV=`{«json»:«string»}`
и подкорректировать сниппет, чтобы в запросе таблицу с TV джойнить только при необходимости (useTVs == true) и сливать $where с $whereTV.
Кажется мне, что проблем возникнуть не должно.
Время сейчас раннее, пробовать буду позже, поэтому решил вот узнать.
Внимание вопрос.
А взлетит?
Ну т.е. ты же не включил работу с tv не просто так? Наверняка были ведь какие-то весомые причины, о которых я ещё не знаю? Возможно не только из-за тормознутости и лишней нагрузки, может было что-то ещё. Есть ли какие-то подводные камни, из-за которых вышеописанный способ может не сработать? Или идея норм и флаг в руки и вперёд? :-)
Комментарии: 5
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Нужно 2 ТВ — таблицу придется джойнить 2 раза. Если получать ТВ по такой схеме, то рано или поздно будут тормоза джойнов, поэтому я и не стал делать работу с ТВ.
Вообще не люблю ими пользоваться, и чуть позже опишу способ, как обходиться без них, при выборке.
Прям с нетерпением жду)
Тоже хотел бы узнать способ, как обходиться без ТВ, при выборке.
Только фильтровать не осень удобно выйдет, но можно, в теории.