ExpressionEngine查询模块 - 仅从特定类别检索相关条目

时间:2011-07-20 18:43:04

标签: expressionengine

我遇到了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 个答案:

答案 0 :(得分:2)

是的,这将是一个艰难的查询...可能更好地利用您的时间/预算来购买Playa,将您的关系字段转换为Playa,然后使用Playa模块标签代替您可以按类别({exp:playa:parents}{exp:playa:children})限制相关和反向相关的条目。