【问题标题】:expressionengine database class orderby and sort表达式引擎数据库类 orderby 和 sort
【发布时间】:2012-03-05 23:38:51
【问题描述】:

我们如何使用表达式引擎中的数据库类进行排序。 orderbysort 出现错误,似乎不起作用。我似乎在文档中找不到关于排序结果的任何内容。这就是我所拥有的。

$results = $this->EE->db->query("
    SELECT plan_name
    FROM exp__plans 
    WHERE member_id='1002' AND orderby="id" sort="desc" LIMIT 1
");
$x = $results->row('plan_name')

;

【问题讨论】:

    标签: expressionengine


    【解决方案1】:

    您的查询存在问题。

    试试:

    $results = $this->EE->db->query("
        SELECT plan_name
        FROM exp_plans
        WHERE member_id = '1002' 
        ORDER BY id DESC LIMIT 1 
    ");
    

    如果您遇到问题,我建议您尝试直接针对数据库运行查询。 90% 的情况下,这将是您的 SQL 的问题。

    另外,你是在一个附加组件中写的……对吧?如果您想让它在模板中工作,我建议您查看query module

    【讨论】:

    • 谢谢。我让自己感到困惑,并像在 EE 标签中一样使用 orderby 和排序。现在一切都好。
    【解决方案2】:

    您还可以使用 Active Record 来创建查询:

    $this->EE->db->select('plan_name')
                    ->from('plans')
                    ->where('member_id', '1002')
                    ->order_by("id", "desc")
                    ->limit(1)
                    ->get();
    

    所有文档都在Codeigniter website上。

    【讨论】:

    • CI Active Record 非常适合上述查询 - 但是当涉及到更复杂的任务(例如连接)时,您很快就会发现自己在一个角落里哭泣。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多