2011-07-20 6 views
0

私のSQL知識の限界に迫っています。私は関連項目をプルダウン入力としてSafecracker形式に引っ張り、特定のカテゴリの関連する項目だけをデータベースから取得したいと考えています。たとえば、「イベント」チャンネルがあります。このチャンネルでは、イベントを「場所」チャンネルのエントリに関連付けることができます。私はすべての可能な場所、特定の種類のイベントに関連する特定のカテゴリのものだけを見る必要はありません。誰でもアイデアはありますか?あなたの助けを前にありがとう。ExpressionEngine Query Modul - 特定のカテゴリからの関連エントリのみを取得します。

私はすでに関連するすべてのエントリを取り出すクエリを持っていると言いましたが、これまでカテゴリ別のフィルタリングはありませんでした。

<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> 

答えて

2

うん、それはタフなクエリになるでしょう...そして可能にする、代わりにプラヤモジュールタグを使用し、あなたの関係フィールドはPlayaに変換し、Playaを購入するあなたの時間/予算の有効活用であるかもしれません関連するエントリと逆関連のエントリをカテゴリ({exp:playa:parents}{exp:playa:children})で制限する必要があります。

+0

ありがとう、私はオプションとしてそれをチェックします。私の頑固な側は、クエリモジュールでこれを把握したいと思っていますが、それは価値がないかもしれません。 – Transoptic

関連する問題