CakePHP пусто передано Args

У меня есть форма в представлении:

echo $this->Form->create('Customers', array('action' => 'index'));
echo $this->Form->input('category_id');
echo $this->Form->end('Search');

И метод в контроллере:

function index() {
    debug($this->passedArgs);
}

Но сообщение отладки выводит пустой массив.

Когда я набираю URL вручную:

http://domainna.me/admin/customers/index/category_id:4

сообщение отладки распечатывается: Array ( [season_id] => 16)

и все ведет себя так, как я хочу. Что мне не хватает?

-----Редактировать------

debug ($ this-> request-> params) печатает:

Array
(
    [plugin] => 
    [controller] => customers
    [action] => index
    [named] => Array
        (
        )

    [pass] => Array
        (
        )

    [isAjax] => 
)

1 ответ

Я думаю, что вам не хватает части GET: http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html

тогда он будет использовать get-url вместо поста.

но я бы все же посоветовал вам использовать сложный поисковый плагин, например, торт dcs: https://github.com/CakeDC/search

там вы получите желаемый результат (используя перенаправление PRG). со всеми мощными функциями в комплекте.

Другие вопросы по тегам