ExpressionEngine Query Modul - получение связанных записей только из определенной категории - PullRequest
0 голосов
/ 20 июля 2011

Я исчерпал свои знания SQL. Я вытягиваю связанные записи в форму Safecracker в качестве раскрывающихся входов и хочу извлечь из базы данных только связанные записи определенной категории. Например, у меня есть канал «события», в котором вы можете связать событие с записью в канале «места». Мне не нужно видеть все возможные места, только из определенной категории, которые относятся к определенному типу событий. У кого-нибудь есть идеи? Заранее спасибо за помощь.

Я забыл упомянуть, что у меня уже есть запрос, извлекающий ВСЕ мои связанные записи, но пока что нет фильтрации по категориям.

<label>RELATED ENTRY TEST</label>
<select name="event_rel_location" id="event_rel_location">
<option value="">--</option>
{exp:query sql="SELECT entry_id AS rel_entry_id, title AS rel_title, (SELECT rel_child_id FROM exp_relationships WHERE rel_id = '{event_rel_location}' LIMIT 10) AS rel_child_id FROM exp_channel_titles WHERE channel_id = 51 AND status='Open' ORDER BY title ASC "}
<option value="{rel_entry_id}" {if rel_child_id == rel_entry_id} selected="selected"{/if}>{rel_title}</option>
{/exp:query}
</select> 

1 Ответ

2 голосов
/ 22 июля 2011

Да, это будет сложный запрос ... может быть, лучше использовать ваше время / бюджет, чтобы купить Playa , преобразовать поле ваших отношений в Playa, затем использовать вместо этого теги модуля Playa, которые позволяют ограничивать связанные и обратно связанные записи по категориям ({exp:playa:parents} и {exp:playa:children}).

...