如何计算Cakephp中表的总行数

时间:2013-11-27 04:50:13

标签: php cakephp rowcount

如何计算表的总行数并将其传递给变量?例如,我有产品表,其中有10个产品。我想计算所有行并得到结果10并将其传递给变量$ rowcount。我该怎么办?

5 个答案:

答案 0 :(得分:10)

使用find('count')

例如:

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

答案 1 :(得分:7)

你也可以尝试使用条件

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

答案 2 :(得分:4)

你可以用find('count')方法

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

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

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

答案 3 :(得分:0)

通过使用此功能,您可以使用

中的传递条件对数据进行计数
    $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;

答案 4 :(得分:0)

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

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

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

这里学生是榜样。替换为您的型号名称。 谢谢。