如何在Cakephp中统计表的总行数

yqhsw0fo  于 2022-11-11  发布在  PHP
关注(0)|答案(5)|浏览(174)

如何统计表的总行数并传递给变量?例如,我有一个产品表,里面有10个产品,我想统计所有的行,得到结果10,并传递给变量$rowcount,我该怎么做?

xiozqbni

xiozqbni1#

使用find('count ')
例如:

$total = $this->Article->find('count');

如果要在查询中使用条件,则传递条件数组,下面是一个示例代码:

$pending = $this->Article->find('count', array('conditions' => array('Article.status' => 'pending')));
pvcm50d1

pvcm50d12#

您也尝试了带条件的方法

$rowcount = $this->Product->find('count', array('conditions' => array('Product.fieldName' => 'value')
w8rqjzmb

w8rqjzmb3#

你可以用find('count')方法来实现

$this->set('rowcount',$this->Product->find('count'));

或者,如果变量$products中已经有了产品,则只需使用count()函数,以避免另一个Mysql查询

$this->set('rowcount',count($products));
3pmvbmvn

3pmvbmvn4#

通过使用此函数,您可以使用传递条件对数据进行计数,其中

$assignment = TableRegistry::get('Assignment');
    $query = $assignment->find();
    $query->select(['count' => $query->func()->count('id')]);
    $query->where(['Assignment.user_id'=>$user_id]);
    $assignment = $query->toArray();
    $assignment_count = $assignment[0]->count;
    return  $assignment_count;
axkjgtzd

axkjgtzd5#

在CakePHP 3.x中,你可以这样查询:

$count = $this->Students->find()->count();

或者

TableRegistry::get('Students')->find()->count();

这是一个示例模型请用您模型名称替换谢谢

相关问题