CakePHP(v3.x)、cookieの値を読んでredirect

indexなどで、Query文字列などで検索条件を指定している場合、Cookieに検索条件を保存しておき、画面遷移して戻ってきたときに再び以前に開いていた検索条件のindexにアクセスしたいという用途では以下のように実装するといいかもしれません。

// status_listにクエリ文字列のキーに対応する文字列のリストを用意


$active_status = [];
if($this->request->is('get')){
        $param = $this->redirect->getQuery();
        if(!empty($param)){
            foreach($status_list as $status){
                if(!empty($param[$status])) {
                    $active_status_list[$status] = $param[$status];
                    $this->Cookie->write($status, $param[$status]);
                } else {
                    $this->Cookie->delete($status);
                }
            }
        } else {
            $query  = [];
            foreach($status_list as $status){
                if($this->Cookie->check($status)){
                    $query[$status] = $this->Cookie->read($status);
                    $this->Cookie->delete($status);
                }
            }
            if(!empty($query)) {
                return $this->redirect([
                    'controller' => 'Articles',
                    'action' => 'index',
                    '?' => $query
                ]);
            }
        }

}

// active_status を用いた一覧処理


Cookieのキーですが、他のindexでもCookieを用いたいときにキーが衝突して暴発してしまわないように任意のprefix等をつけて対応してもらえるといいかと思います。