2016-01-21 54 views
0

在CakePHP v.2.5.2中,是否有更簡單的方法來執行此檢查?CakePHP過濾器分頁字段

if(!empty($this->passedArgs['somemodel.someatribute'])) { 
    $paginate['conditions']['somemodel.someatribute'] = base64_decode($this->passedArgs['somemodel.someatribute']); 
} 

當我有很多領域,名單會很長,我想避免這一點。

+0

通常您應該避免通過URL傳遞任何非段落非ASCII字符。一個應該使用查詢字符串,他們不需要額外的處理(不編碼或解碼)。 – mark

回答

1

難道你不能只使用標準的foreach循環?

foreach($this->passedArgs as $key => $value) { 
    $paginate['conditions'][$key] = base64_decode($value); 
} 

可選擇地嘗試尋找到$this->request->params['pass']陣列,其類似於$this->passedArgs

有關更多詳細信息,請查看the CakePHP docs on routing

+0

在您將其標記爲正確之後,我編輯了我的答案的第一部分(之前的「備選」),因爲第一部分是錯誤的。我假設第二部分爲你工作?如果是這樣,我可能想要刪除第一部分。 – dragmosh