Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
To com um problema aki,
quando eu entro na pagina para editar um registro ta tudo ok, mas quando eu clico no botao para alterar o registro
vem o warning pedindo um argumento, istu está certo??
vou postar meu controller e view:
CONTROLLER:::
function perfil_editar($idc){
$id_curso = (int)$idc;
$this->layout = "admin";
$this->pageTitle = "Editar Curso";
$id = $this->Auth->user('id');
if($id==NULL){
$this->redirect(array('controller'=>'admin','action'=>'login','perfil'=>false));
}
//seta dados para layout
$tipos = $this->Tipo->find('list',array('conditions'=>array('Tipo.ativo'=>'s'),'fields'=>array('Tipo.id','Tipo.nome')));
$categorias = $this->Categoria->find('list',array('conditions'=>array('Categoria.ativo'=>'s'),'fields'=>array('Categoria.id','Categoria.nome')));
$modalidades = $this->Modalidade->find('list',array('conditions'=>array('Modalidade.ativo'=>'s'),'fields'=>array('Modalidade.id','Modalidade.nome')));
$filiais = $this->Filial->find('list',array('conditions'=>array('Filial.anunciante_id'=>$this->Auth->user('id'),'Filial.ativo'=>'s'),'fields'=>array('Filial.id','Filial.nome')));
$this->set('tipos',$tipos);
$this->set('modalidades',$modalidades);
$this->set('categorias',$categorias);
$this->set('filiais',$filiais);
//cadastro
if(empty($this->data)){
//retiro associacao para reduzir query
$this->Curso->unbindModel(
array('belongsTo' => array('Anunciante'))
);
$this->Curso->unbindModel(
array('hasMany' => array('Prematricula'))
);
$this->data = $this->Curso->read(array('Curso.anunciante_id','Curso.tipo_id','Curso.categoria_id','Curso.subcategoria_id','Curso.modalidade_id','Curso.nivel_curso','Curso.periodo','Curso.titulo','Curso.resumo','Curso.descricao','Curso.objetivo','Curso.metodologia','Curso.pre-requisitos','Curso.vantagens','Curso.periodo','Curso.carga_horaria','Curso.carga_horaria','Curso.gratis','Curso.investimento','Curso.local_aula','Curso.informacoes','Curso.link_site','Curso.ativo'),$idc);
}else{
$this->Curso->id = $id_curso;
$this->data['Curso']['anunciante_id'] = $this->Auth->user('id');
if($this->Curso->saveAll($this->data)){
$this->Session->setflash('Curso editado com sucesso!');
}else{
$this->Session->setFlash('Falha ao editar o curso, verifique os campos!');
}
}
}
VIEW::::
<?
echo $html->css('formularios.css');
?>
<script>function showHideInv(){
if(document.getElementById('CursoGratis').checked==true){
document.getElementById('CursoInvestimento').disabled=true;
}else{
document.getElementById('CursoInvestimento').disabled=false;
}
}
</script>
<div class="formulario">
<h1>Alteracao de cursos</h1>
<p>Altere os dados de seu curso de forma sábia, forneca o maior numero de informações possiveis ao usuario para ele ter certeza que seu curso é o que ele procura!</p><br />
<?=$session->flash();?>
<h2>Alteracao</h2>
<p>Campos com (*) sao obrigatorios</p>
<span class="line_cad"></span>
<?=$form->create('Curso',array('action'=>'perfil_editar'));?>
<?=$this->data['Curso']['id'];?>
<span style="width:627px; display:table; padding:3px; background-color:#f2f2f2;">
<p>Escolha em qual(is) filial(is) este curso tambem esta presente</p>
<?=$form->input('Filial.id',array('type'=>'select','label'=>'','multiple'=>'checkbox','options'=>$filiais));?>
</span>
<?=$form->input('tipo_id',array('type'=>'select','options'=>$tipos,'after'=>'*')); ?>
<?=$form->input('categoria_id',array('type'=>'select','options'=>$categorias,'after'=>'*')); ?>
<? //$form->input('subcategoria_id',array('type'=>'select')); ?>
<?=$form->input('modalidade_id',array('type'=>'select','options'=>$modalidades,'after'=>'*')); ?>
<? $options_nivel = array('b'=>'Basico','m'=>'Medio','a'=>'Avancado','i'=>'Indiferente');?>
<?=$form->input('nivel_curso',array('type'=>'select','options'=>$options_nivel,'after'=>'*')); ?>
<? $options_periodo = array('m'=>'Manha','t'=>'Tarde','n'=>'Noite','f'=>'Flexivel');?>
<?=$form->input('periodo',array('type'=>'select','options'=>$options_periodo,'after'=>'*')); ?>
<?=$form->input('carga_horaria',array('type'=>'text','size'=>'10','after'=>' horas *')); ?>
<!-- Dados do curso -->
<?=$form->input('titulo',array('type'=>'text','size'=>'60','after'=>'*'));?>
<?=$form->input('resumo',array('type'=>'textarea','after'=>'*'));?><br />
<?=$form->input('descricao',array('type'=>'textarea'));?>
<?=$form->input('objetivo',array('type'=>'textarea'));?>
<?=$form->input('metodologia',array('type'=>'textarea'));?>
<?=$form->input('pre-requisitos',array('type'=>'textarea'));?>
<?=$form->input('vantagens',array('type'=>'textarea'));?><br />
<span style="height:1px; display:block; clear:left; border-bottom:#CCC dashed 1px;"></span>
<span style="width:100%; display:block; padding-left:130px; clear:left;"><?=$form->input('gratis',array('type'=>'checkbox','value'=>'s','label'=>'Este curso é gratis','onclick'=>'showHideInv();'));?>
</span>
<br />
<span style="height:1px; display:block; clear:left; border-bottom:#CCC dashed 1px;"></span>
<br />
<?=$form->input('investimento',array('type'=>'text')); ?>
<?=$form->input('local_aula',array('type'=>'textarea')); ?>
<?=$form->input('informacoes',array('type'=>'textarea')); ?>
<?=$form->input('link_site',array('type'=>'text')); ?>
<?=$form->input('ativo',array('type'=>'select','options'=>array('s'=>'sim','n'=>'nao'))); ?>
<?=$form->input('alteracao',array('type'=>'hidden','value'=>date('Y-m-d h:m:s'))); ?>
<br />
<br />
<?=$form->end('Efetuar alteracao');?>
</div>
Outra duvida, quando eu to tentando cadastrar um relacionamento HABTM pelo que parece a query so cadastra em um model e no outro ela faz um consulta buscando um registro..
alguem sabe
Brigadaooooo
To usando o saveAll.
Carregando comentários...