2017-03-26 62 views
0

我試圖通過訂購和按標籤ORDER BY和GROUP BY在ORM(fuelphp)

$結果= Model_Tag ::查詢() - >選擇(\燃油\核心\ Db的:: EXPR( 'COUNT(*)'), '計數') - >選擇( '標記') - > GROUP_BY( '標籤') - > ORDER_BY( '計數', '降序') - >獲得(); ('count')' - > select('tag') - >選擇(\ Fuel \ Core \ Db :: expr('count(*)','count') - >選擇(\ Fuel \ Core \ Db :: expr) GROUP_BY( '標籤') - > ORDER_BY( '計數', '降序') - >獲得();

但是,無論我做什麼,我得到了數沒有定義錯誤的ORM的別名字段名稱堅稱:AS t0_c0t0

SELECT COUNT(*)。 tag AS t0_c1t0id AS t0_c2 FROM tag AS t0 GROUP BY t0tag ORDER BY t0count DESC」

在一列所得未找到錯誤

或者:

$查詢= Model_Tag ::查詢() - >選擇(\燃油\核心\ DB :: expr('count(*)as count')) - > select('tag') - > group_by('tag') - > order_by('count','desc') - > get();

查詢

SELECT count(*)as as AS t0_c0t0tag AS t0_c1t0id AS t0_c2 FROM tag AS t0 GROUP BY t0tag ORDER BY t0count DESC

給出了一個語法錯誤

回答

0

在FuelPHP 1.8版,訪問你控制器,並且查詢設置這個例子:

$result = Model_Tag::query()->group_by('tag')->order_by('count','desc')->get(); 

如果你拿到了數

$count = count($result); 

警告! https://fuelphp.com/docs/classes/database/usage.html

:因爲你已經在使用 Model_Tag

參考,不要打電話給你select('tag')