Problemas con Actualización de Registros

edited diciembre 2008 in Dudas/Problemas
Buenas tardes.

He estado haciendo unas Consultas, Agregar, Borrar, y Actualizar.

Cuando intento un Registro, me aparece lo Siguiente:

Error: El campo nombre no puede ser nulo
Error: El campo orderi no puede ser nulo
Error: El campo nombre no puede ser nulo
Error: El campo orderi no puede ser nulo
Error: El campo nombre no puede ser nulo
Error: El campo orderi no puede ser nulo

Etc, etc.
(En éste caso son dos Registros)
No debería de aparecer eso, ya que se supone que estoy "Actualizando".
Miren mi código:

Mi vista:
<?=form_tag("menu/update")?>
<?
$menux = new Menu();
$cont = 0;
foreach($menux->find("id=id","order: orderi asc") AS $ShowMenu) {
	$cont++;
	
?>
Order: <input type="text" name="orderi_<?=$ShowMenu->id?>" value="<?=$ShowMenu->orderi?>" size="2" />
Item: <input type="text" name="nombre_<?=$ShowMenu->id?>" value="<?=$ShowMenu->nombre?>" size="5" />
Link: <input type="text" name="link_<?=$ShowMenu->id?>" value="<?=$ShowMenu->link?>" size="5" />
Description: <input type="text" name="description_<?=$ShowMenu->id?>" value="<?=$ShowMenu->description?>" size="15" /> 
<?=link_to("menu/delete/$ShowMenu->id", "<strong>Delete!</strong>")?>
<br />
<?
}
?>
<br />
<input type="hidden" name="contItems" value="<?=$cont?>" />
<input type="submit" name="UpdateMenu" value="Update" />
<?=end_form_tag()?>
<?=link_to("menu/add", "<input type=button value='Add item to Menu'")?>

Mi método en el Controlador:
function update() {
		$repeat = $this->request("contItems");
		$cont = 0;
		$menu = new Menu();
		for($cont = 0;$cont<=$repeat;$cont++) {
			$menu->find($cont);
			$menu->nombre = $this->request("nombre_$cont");
			$menu->link = $this->request("link_$cont");
			$menu->description = $this->request("description_$cont");
			$menu->orderi = $this->request("orderi_$cont");
			$menu->save();
		}
		
	}


Por cierto, como se pondrían Controladores por defecto en el Layout, es decir, que cargen pero no en el content(), si no en otras partes...?
Saludos!

Comentarios

  • edited 1:15
    mira
    Error: El campo nombre no puede ser nulo
    Error: El campo orderi no puede ser nulo
    Error: El campo nombre no puede ser nulo
    Error: El campo orderi no puede ser nulo
    Error: El campo nombre no puede ser nulo
    Error: El campo orderi no puede ser nulo

    estos mensajes quiere decir q intentar de guardar campos nulos,

    ok.
    tu dices q solo actualizas de esta forma con un for

          $repeat = $this->request("contItems");
          $cont = 0;
          $menu = new Menu();
          for($cont = 0;$cont<=$repeat;$cont++) {
             $menu->find($cont);
             $menu->nombre = $this->request("nombre_$cont");
             $menu->link = $this->request("link_$cont");
             $menu->description = $this->request("description_$cont");
             $menu->orderi = $this->request("orderi_$cont");
             $menu->save();
          }
    

    quisas esta malo tu indice en vez de 0 es 1 o en vez de $count<= $repeat deberia ser $count < $repeat


    sino anda a tu modelo menu.php y debugea el codigo. de esta manera

    public $debug = true; despues lo eliminas para q no aparesca el sql en tus pantallas.
Sign In or Register to comment.