1

我正在尝试按标签排序和分组

$result = Model_Tag::query()->select(\Fuel\Core\Db::expr('count(*)'),'count')->select('tag')->group_by('tag' )->order_by('count','desc')->get();

$result = Model_Tag::query()->select(\Fuel\Core\Db::expr('count(*)','count'))->select('tag')->group_by('tag' )->order_by('count','desc')->get();

但是,无论我做什么,我都会收到错误消息,即未定义计数,因为 ORM 坚持对字段名称进行别名:

选择计数(*)作为t0_c0t0tag作为t0_c1t0id作为 t0_c2分组tag依据。t0_ 订购方式。 描述”t0tagt0count

导致未找到列错误

或者:

$query = Model_Tag::query()->select(\Fuel\Core\Db::expr('count(*) as count'))->select('tag')->group_by('tag')- >order_by('count','desc')->get();

询问

SELECT count(*) as count AS t0_c0, t0. tag作为t0_c1t0id 作为t0_c2分组tag依据。t0_ 订购方式 。DESCt0tagt0count

给出语法错误

4

1 回答 1

0

在 FuelPHP 1.8 版中,访问您的控制器并查询设置此示例:

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

如果你得到计数

$count = count($result);

警告!不要打电话给你select('tag'),因为你已经在使用Model_Tag

参考:https ://fuelphp.com/docs/classes/database/usage.html

于 2017-05-27T14:46:37.800 回答