2015-05-21 3 views
0

Я пытаюсь использовать функцию подсчета, это то, что он выглядит следующим образом:Использование графа в CakePHP

$sql = "SELECT COUNT(Live) as c FROM tapplicant WHERE CompletedDate >= CURDATE() "; 
$result = mysql_query($sql); 
$row = mysql_fetch_array($result); 
echo $row['c'] ; 

Как я CONVER это, используя способ CakePHP? , Я судимый:

$count = $this->Article->find('count', 
            array('conditions' => array('Tapplicant.Live'))); 

Затем, чтобы просмотреть значение $ подсчитывать:

<?php echo $count ?> 

Я судимый:

 $this->Tapplicant = array(
    'c' => 'COUNT(*)', 
); 
$options = array(
    'fields' => array(
     'Tapplicant.c', 
    ), 
); 
$data = $this->find('all', $options); 
    $this->set('data', $data); 

В основном я просто пытаюсь подсчитать значение tapplicant. Живи, в нем 5 записей.

ответ

1

Вам необходимо установить условие массив следующим образом: -

$count = $this->Article->find(
    'count', 
    array(
     'conditions' => array(
      'Live >=' => 'CURDATE()' 
     ) 
    ) 
); 
+0

Привет @drmonkeyninja, спасибо еще раз, и Miam84, который работал также. У меня есть dpl table tapplicant, но он всегда, кажется, ищет tapplicants, он добавляет 's' все время. – MatHatrik

2

У вас его почти нет. В вашем состоянии массив значений должен содержать 2 поля. 1-е имя столбца, второе значение условия.

Учитывая вы переплетены правильно в Tapplicant таблицы к вашей статье модели:

$count = $this->Article->find('count', array('conditions' => array('Live >=' => 'CURDATE()'))); 

Или только это, если вы хотите, чтобы сосчитать все строки:

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

'i = 0; я ++; echo i; 'для правильного ответа! –

+0

С этим: $ count = $ this-> Tapplicant-> find ('count', array ('conditions' => array ('Live> =', 'CURDATE()'))); Я получаю следующую ошибку: SELECT COUNT (*) AS 'count' FROM' mdxexplo_cak3'.'tapplicants' AS 'Tapplicant' WHERE Live> = AND CURDATE() – MatHatrik

+0

Мне нужно подсчитать записи значений в таблице: tapplicants.Live. каждая запись имеет значение 1 в так, она должна быть равна «5» – MatHatrik