【问题标题】:expression engine sql query limit entries表达式引擎 sql 查询限制条目
【发布时间】:2011-08-09 23:25:36
【问题描述】:

您好,我对使用 EE 的 SQL 查询不太熟悉,但我认为这正是我所需要的。任何意见,将不胜感激。 我基本上是在尝试创建一个链接到每个成员画廊的典型群组画廊主页 - 但我不确定如何将其限制为每个作者只有 1 个链接,而不是所有频道条目。

{exp:channel:entries channel="portfolios" author_id="not 1"}
<a href="{path=portfolios/gallery/{username}}"><img src="{avatar_url}" /></a><br>
<a href="{path=portfolios/gallery/{username}}">{author}</a><br>
{/exp:channel:entries}

【问题讨论】:

    标签: sql expressionengine


    【解决方案1】:

    这应该可以解决问题。请务必将 t.channel_id = 1 替换为您的投资组合频道的实际 channel_id。

    这将列出在该频道中发布条目的所有成员。请注意,因为我们正在执行 SQL 查询,{avatar_url} 没有准备好,所以我们只是欺骗并硬编码 avatars 文件夹的路径。

    {exp:query sql="
        SELECT m.member_id, m.username, m.screen_name, m.avatar_filename
        FROM exp_members m
        LEFT JOIN exp_channel_titles t
        ON t.author_id = m.member_id
        WHERE t.channel_id = 1
        GROUP BY m.member_id
        ORDER BY m.screen_name ASC
    "}
            <a href="{path=portfolios/gallery/{username}}"><img src="/images/avatars/{avatar_filename}" /></a><br>
            <a href="{path=portfolios/gallery/{username}}">{screen_name}</a><br>
    {/exp:query}
    

    【讨论】:

    • 感谢 D-Rock - 现在会检查一下 - 我可以要求帮助我理解,m 在 FROM exp_members m 上的含义是什么?和米。还有 t 和 t。
    • Sure Mark - 在FROM table_name 语句之后直接添加任何字母或单词会为该表创建别名或引用。它可以帮助您在引用列时编写更清晰的 SQL。所以m.member_id指的是exp_members表中的member_id列,t.channel_id指的是exp_channel_titles表中的channel_id列等
    • 我无法获取您发布的内容,但可以使用 {exp:query sql="SELECT member_id, username, screen_name, avatar_filename FROM exp_members WHERE group_id = '5' ORDER BY username ASC "} &lt;a href="{path=portfolios/gallery2/{username}}"&gt;&lt;img src="http://localhost:8888/igi/images/avatars/{avatar_filename}" /&gt;&lt;/a&gt;&lt;br&gt; &lt;a href="{path=portfolios/gallery2/{username}}"&gt;{username}&lt;/a&gt;&lt;br&gt; {/exp:query}
    • 但不是按 {username} 排序,而是按我创建的名为 {surname} 的成员字段进行排序 - 这是 exp_member_data 中的 m_field_id_2 - 知道我会怎么做吗?我尝试使用 JOIN 但它产生了错误。 JOIN 就像说“和”?还是我应该使用其他东西? group_id = ‘5’ 是我的成员组。还有没有办法不必对头像文件名的链接进行硬编码?我将如何允许放置 {path}?
    • 左连接在查询中的两个或多个表之间建立可选关系。试试这个:SELECT m.member_id, m.username, m.screen_name, m.avatar_filename FROM exp_members m LEFT JOIN exp_member_data d ON m.member_id = d.member_id WHERE m.group_id = '5' ORDER BY d.m_field_id_2 ASC.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 2011-11-01
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多