如何使用Codeigniter Datamapper一起求和和计数?

gxwragnw  于 2022-12-07  发布在  其他
关注(0)|答案(3)|浏览(140)

我想用Codeigniter Wanwizard数据Map器做一些类似的事情。

SELECT COUNT(amount), SUM(amount) FROM mytable

基本上,我想在一个查询中同时提取总金额和包含多少行。但是我在文档页http://datamapper.wanwizard.eu/中找不到方法,因为SUM函数有select_sum(),但COUNT函数没有select_count()。有没有办法像我的例子一样做到这一点?谢谢。

vwkv1x7d

vwkv1x7d1#

$this->db->select("COUNT(ratting) as v_count, SUM(ratting) as v_sum");
$this->db->where('user_id', $user_id);
$row = $this->db->get('user')->row();

输出量

stdClass Object
(
    [v_count] => 3
    [v_sum] => 7.5
)

希望能帮到你。

pkmbmrz7

pkmbmrz72#

要转换此

SELECT COUNT(amount), SUM(amount) FROM mytable

在带有Codeigniter和Datamapper控制器中的查询中,您可以使用

$p = new mytablemodel();
$p->select_sum('amount','total')->select_func('COUNT', 'amount', 'count')->get();

为了显示,您使用

echo $p->total;
echo $p->count;

您还可以添加条件:

$p = new mytablemodel();
$p->select_sum('amount','total')->select_func('COUNT', 'amount', 'count')->where('status', 1)->get();
of1yzvn4

of1yzvn43#

试试这个

$p = new Film();
$p->select('COUNT(amount), SUM(amount)')->get();

相关问题