Как подсчитать общее количество строк таблицы и передать его в переменную? Например, у меня есть таблица товаров, и в ней 10 товаров. Я хочу подсчитать все строки и получить результат 10 и передать его в переменную $rowcount. Как мне это сделать?
Как подсчитать общее количество строк таблицы в Cakephp
Ответы (5)
используйте find('count')
Например:
$total = $this->Article->find('count');
Если вы хотите использовать условие в своем запросе, передайте массив условий, вот пример кода:
$pending = $this->Article->find('count', array('conditions' => array('Article.status' => 'pending')));
person
Ma'moon Al-Akash
schedule
27.11.2013
что с условиями?
- person Wayne Tun; 02.07.2014
вы также попробуйте это с условием
$rowcount = $this->Product->find('count', array('conditions' => array('Product.fieldName' => 'value')
person
Vipul
schedule
27.11.2013
вы можете сделать это с помощью метода find('count')
$this->set('rowcount',$this->Product->find('count'));
или просто используйте функцию count(), если уже есть продукты в переменной $products, чтобы избежать другого запроса Mysql
$this->set('rowcount',count($products));
person
Abdou Tahiri
schedule
27.11.2013
Используя это, вы можете подсчитывать данные с прохождением условий, где
$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;
person
kamleshpal
schedule
13.10.2016
В CakePHP 3.x вы можете сделать запрос следующим образом:
$count = $this->Students->find()->count();
Or
TableRegistry::get('Students')->find()->count();
Здесь студент является примером модели. Замените на название вашей модели. Спасибо.
person
Kalyan Halder Raaz
schedule
10.03.2019