Мне нужно изменить запрос. Представления генерируются так, что я могу использовать очень настраиваемые фильтры. По этой причине я реализовал функцию add_where() с некоторыми ORs: OR operator in Drupal View FiltersДобавление инструкции JOIN в hook_views_query_alter()
Однако это решает только часть моей проблемы. Есть несколько полей, которые я не могу фильтровать, потому что мне нужно иметь дополнительные JOINs в моем запросе.
Есть ли что-то вдоль линий
$view->query->add_where()
, что можно вставить РЕГИСТРИРУЙТЕСЬ заявление?
Ну, есть '$ view-> query-> add_table()' и '$ view-> query-> add_relationship()', но их использование, отношение и преко из кода не являются очевидными (по крайней мере, не для меня). Не можете ли вы просто добавить отношения через пользовательский интерфейс Views, чтобы убедиться, что ваши необходимые таблицы подключены? –
@Henrik После того, как вы вникли в файл query.inc в модуле views, я нашел функции, которые вы упомянули. От комментариев не так уж много, поэтому использование несколько расплывчато. Кроме того, сделайте свой комментарий ответом, чтобы я мог его принять. – Jukebox
Yup, использование не очевидно, и документации не хватает - я тоже не пытался их использовать, поэтому я не могу с этим справиться. Повернул комментарий, чтобы ответить, как было предложено - спасибо. –