2012-03-04 9 views
0

expressionengineでデータベースクラスを使用してソートするにはどうすればいいですか? orderbysortにはエラーがあり、動作していないようです。私は結果を並べ替えることに関して書類で何かを見つけることができないようです。これは私が持っているものです。expressionengineデータベースクラスorderbyとsort

$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') 

;

答えて

1

クエリに問題があります。

試し:

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

私はあなたがそれに問題を抱えている場合は、データベースに対して直接クエリを実行しようとして推薦します。あなたのSQLの問題になるのは90%です。

また、アドオンでこれを書いています...そうですか?テンプレート内でこれを動作させる場合は、query moduleをチェックすることをお勧めします。

+0

ありがとうございます。私は混乱して、orderbyとsortをEEタグのように使用しました。すべて今良い。 – Pinkie

1

また、あなたのクエリを作成するために、アクティブレコードを使用することができます。

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

すべてのドキュメントがCodeigniter websiteです。

+0

CIアクティブレコードは、上記のようなクエリに最適ですが、ジョインなどのより複雑なタスクの場合は、すぐに自分を泣かせることになります。 –