getTickets и фильтрация тикетов по 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 не просто так? Наверняка были ведь какие-то весомые причины, о которых я ещё не знаю? Возможно не только из-за тормознутости и лишней нагрузки, может было что-то ещё. Есть ли какие-то подводные камни, из-за которых вышеописанный способ может не сработать? Или идея норм и флаг в руки и вперёд? :-)
Алексей Карташов
04 февраля 2013, 01:16
modx.pro
1
1 936
0

Комментарии: 5

Василий Наумкин
04 февраля 2013, 08:22
0
Каждый ТВ — это одна астрока в таблице.

Нужно 2 ТВ — таблицу придется джойнить 2 раза. Если получать ТВ по такой схеме, то рано или поздно будут тормоза джойнов, поэтому я и не стал делать работу с ТВ.

Вообще не люблю ими пользоваться, и чуть позже опишу способ, как обходиться без них, при выборке.
    Алексей Карташов
    04 февраля 2013, 17:54
    0
    Хм, фильтр по доп. параметрам без tv? Интересно… :-)
    Прям с нетерпением жду)
      Андрей
      13 марта 2013, 01:59
      0
      Присоединяюсь
      Тоже хотел бы узнать способ, как обходиться без ТВ, при выборке.
    СикретНаме
    13 марта 2013, 03:26
    0
    Для понимания общего смысла сказанного Василием, достаточно потратить 15 минут личного времени и хотя бы просто познакомиться с сущностью принципа работы TV. Или иногда, «ради смеха», проводить параллели с уже не раз писавшимся.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5