Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TemístoclesArêa

[Resolvido] foreach dentro de helpers

Recommended Posts

Olá, já me deparei com esse problema varia vezes e não consegui uma solução e também não achei nada na net ou na documentação do cake sobre isso, se alguem puder me ajudar:

 

//no controler tenho o seguinte
$this->Curso->recursive=0;
$cursos = $this->Curso->find('all',array('condidions'=>array(
  'Curso.edital_id'=>1
)));
$this->set(compact('cursos'));

//na view estou querendo mostrar os dados da seguinte forma mas não sei como proceder:
echo $this->Form->input('Curso',array('label'=>'Curso:','multiple'=>false,'empty'=>'Selecione','options'=>array(
  "$curso[Curso][id_curso]"=>"$curso['Curso']['nome_curso'] - $curso['Curso']['Turno'] - $curso['Curso']['Vagas']"
)));

Neste caso a view mostra os valores somente se eu estiver usando find('first') e somente um registro, mas eu queria mostrar todos os curso sendo que em no segundo paramentro de 'options' eu queria mostrar varios campos de curso e não somente nome_curso que é definido em '$displayField' no model, já tentei o seguinte mas mostra somente o último resultado.

foreach($cursos as $curso) {
  $dados[$curso[Curso][id_curso]] = "$curso['Curso']['nome_curso'] - $curso['Curso']['Turno'] - $curso['Curso']['Vagas']";
}
echo $this->Form->input('Curso',array('label'=>'Curso:','multiple'=>false,'empty'=>'Selecione','options'=>array($dados)));

 

É como se eu quisesse colocar um foreach dentro de input, mas pelo que vi, isso não é possível. Aguardo uma possível solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois de muito tempo descobri como fazer o que estava querendo, só estava construindo o array de forma errada, uma lida pesada na documentação do php sobre array ajudou a resolver o problema, a solução abaixo:

 

//controller o mesmo anterior.

//view
foreach($cursos as $curso){			
  $options[$curso['Curso']['id_curso']] = $curso['Unidade']['nome_unidade'].' - '.$curso['Atividade']['nome_atividade'].' - '.$curso['Curso']['nome_curso'];
}
echo $this->Form->radio('Curso',$options);

De agora em diante não será mais problema. Ufa. flws.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.