2015-05-22 5 views
0

На данный момент я запрашиваю свой db с этим запросом ниже, и он отлично работает, он соединяется с другой таблицей.cakePHP Paginate and sort by DESC

$tapplicant = $this->Tapplicant->find(
    'all', 
    array(
     'fields' => array(
      'Tapplicant.*', 
      'Toutcome.*' 

     ), 
     'order' => array('Tapplicant.AppDate' => 'DESC'), 
     'joins' => array(
      array(
       'table' => 'toutcome', 
       'alias' => 'Toutcome', 
       'type' => 'INNER', 
       'conditions' => array('Tapplicant.AppID = Toutcome.AppID') 


      ) 
     ), 
     'limit' => 15 
    ) 
); 

У меня настроить Pagenator:

public $paginate = array (
'order' => array('Tapplicant.AppID' => 'desc'), 
'limit' => 15, 

); 

Что мне нужно знать, как делать я:

  • Добавить Paginator
  • Использование на текущую дату CurDate()

I jsut dont kno . Ш, где, чтобы добавить его в

+0

Что вы хотите делать с CURDATE()? – drmonkeyninja

+0

Результаты могут быть только для сегодняшней даты @drmonkeyninja – MatHatrik

ответ

0

в контроллере: -

$this->paginate = array(
    'fields' => array(
     'Tapplicant.*', 
     'Toutcome.*' 
    ), 
    'joins' => array(
     array(
      'table' => 'toutcome', 
      'alias' => 'Toutcome', 
      'type' => 'INNER', 
      'conditions' => array('Tapplicant.AppID = Toutcome.AppID') 


     ) 
    ), 
    'conditions' => array(
     'Tapplicant.AppDate' => date('Y-m-d') 
    ), 
    'order' => array('Tapplicant.AppDate' => 'DESC'), 
    'limit' => 15 
); 

$this->set('tapplicant', $this->paginate()); 
+0

Мне еще нужно добавить: $ this-> set ('tapplicant', $ tapplicant); как я показываю результаты на странице индекса, используя @drmonkeyninja – MatHatrik

+0

@MaxPayneUK извините забыл включить этот шаг. Я соответствующим образом обновил ответ. :-) – drmonkeyninja

+1

Мне просто нужно было отрегулировать ('Tapplicant.AppDate' => date ('Ym-d')) WITH 'Tapplicant.AppDate> =' => date ('ym-d'), и это отлично поработало, спасибо вы ! – MatHatrik

0

Вы можете сделать это прямо в находке:

$tapplicant = $this->Tapplicant->find(
    'all', 
    array(
     'fields' => array(
      'Tapplicant.*', 
      'Toutcome.*' 

     ), 
     'joins' => array(
      array(
       'table' => 'toutcome', 
       'alias' => 'Toutcome', 
       'type' => 'INNER', 
       'conditions' => array('Tapplicant.AppID = Toutcome.AppID') 


      ) 
     ), 
     'limit' => 15, 
     'order' => array('Tapplicant.AppID' => 'desc'), 
    ) 
); 

И оставить постраничной так:

public $paginate = array('limit' => 15); 

Если вы хотите только сообщения от текущего дня , просто добавьте эту находку:

'conditions' => array('Tapplicant.created' => date('Y-m-d')),