Lidar com vários valores de URL no CakePHP

votos
0

Estou desenvolvendo um site usando o framework CakePHP. Eu tenho um formulário que mostra uma lista de entidades, com uma tickbox para cada um o que lhe permite seleccionar. Você, então, pressionar um botão na parte inferior do formulário dizendo Editar selecionado.

Minha abordagem usual é dar a cada entrada caixa de seleção o mesmo nome (por exemplo row_id) e usar o ID primária como a entrada de value. No entanto, quando você enviar o formulário, CakePHP só parece devolver um dos valores da caixa de seleção para o controlador em $this->params['url'], ao invés de qualquer tipo de lista como eu esperaria.

Todas as dicas sobre a maneira correta de lidar com isso, para que eu possa descobrir quais linhas foram assinalada?

Publicado 19/05/2009 em 14:35
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Se você estiver usando o FormHelper, a maneira mais fácil é criar seus campos como este:

echo $form->input('ModelName.0.row_id', /* snip */)
echo $form->input('ModelName.1.row_id', /* snip */)

Etc .. você começa o ponto. Se há uma lista dinâmica, sempre o forloop.

Quando o formulário é publicado, esta deve dar-lhe uma matriz lado do servidor como este ($ this-> dados):

array
(
    ['ModelName'] => array
    (
        [0] => array
        (
            [row_id] => value
        ),
        [1] => array
        (
            [row_id] => value
        )
    )
)

Então você pode usar o Conjunto de classe de utilitário para extrair seus IDs (e mexer com seus dados :))

Respondeu 19/05/2009 em 14:52
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more