2012-02-07 1 views
0

Я это приложение, которое направляет пользователей Типов достопримечательностей с помощью этой функции:

public function index($type=null) { 
     $this->set('title','What to do when you visit Gulf Shores'); 

     $this->paginate['Attraction']=array(
       'limit'=>9, 
       'order'=>array('Attraction.id'=>'asc'), 
       'conditions'=>array(
         'active'=>1, 
         'attr_type'=>$type 
         ) 
       ); 
     $c=$this->paginate('Attraction'); 
     $this->set('attractions', $c); 

} 

и он прекрасно работает, но я хотел бы, чтобы пользователи также смогут перейти на первую страницу/достопримечательности /, что Безразлично Отфильтровать по attr_type. Эта функция показывает нулевые результаты (как, очевидно, $ type still = null) для первой страницы. Есть ли какой-то шаг, который я пропускаю, или должен ли я иметь файл view.ctp и функцию в моем контроллере?

ответ

0

Вы могли бы использовать, если заявление, чтобы определить условия:

public function index($type = null) { 
    $this->set('title', 'What to do when you visit Gulf Shores'); 

    $conditions = array(); //create $conditions outside of the if statement 
    if ($type) { //if $type is equal to anything other than null or 0 
     $conditions = array(
      'active' => 1, 
      'attr_type' => $type 
     ); 
    } else { 
     $conditions = array(
      'active' => 1 
     ); 
    } 

    $this->paginate['Attraction'] = array(
     'limit' => 9, 
     'order' => array('Attraction.id' => 'asc'), 
     'conditions' => $conditions 
    ); 
    $c = $this->paginate('Attraction'); 
    $this->set('attractions', $c); 
} 

Это на самом деле не нужно создавать $conditions за пределами, если заявление в PHP, но это во многих других языках программирования из-за объема.

If you create a variable inside a if statement is it available outside the if statement?

+0

Хорошо, я думал, что есть способ (но как только я вхожу в контроллер для какой-то причине, я забыл, что я могу использовать циклы, и если заявления и все!) Уайли, вы быстро становится моим спаситель. – huzzah