Ahora KumbiaPHP está en Slack!!

Si deseas contactar con nosotros y de forma rápida, estamos en Slack:

http://slack.kumbiaphp.com/

No puedo ingresar datos desde un formulario a el campo que es clave primaria en la base de datos

Buenas tardes, mi problema es que cuando ingreso datos desde un formulario a la base de datos, me ingresa datos en los otro campos menos en el campo clave primaria.  que me coloca por default el numero '0'. y no ingresa el dato que realmente que quiero ingresar. a y el campo no es auto-incremento porque no lo necesito así.
Estas son las tablas.
CREATE TABLE IF NOT EXISTS `login` (
  `ced` int(8) NOT NULL,
  `usu` varchar(30) NOT NULL,
  `cla` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish2_ci;

ALTER TABLE `login`
  ADD PRIMARY KEY (`ced`);

CREATE TABLE IF NOT EXISTS `usuario` (
  `ced_id` int(8) NOT NULL,
  `nomb` varchar(100) NOT NULL,
  `apell` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish2_ci;
ALTER TABLE `usuario`
ADD CONSTRAINT `usuario_ibfk_1` FOREIGN KEY (`ced_id`) REFERENCES `login` (`ced`) ON UPDATE CASCADE;
el formulario es.
<?php echo Form::open() ?>
<input name="mode" type="hidden" value="auth">
<label for="Usuario">Usuario:</label>
<?php echo Form::text('loginusu') ?>
<label for="Clave">Clave:</label>
<?php echo Form::pass('logincla') ?>
<label for="Cedula">Cedula:</label>
<?php echo Form::text('loginced') ?>
<label for="Nombre">Nombre:</label>
<?php echo Form::text('usuarionomb') ?>
<label for="Apellido">Apellido:</label>
<?php echo Form::text('usuarioapell') ?>
<?php echo Form::submit('Registrar');?>
<?php echo Form::close() ?>
<?php echo Html::link('index/index','Inicio'); ?>
</div>
y el controlador es:
public function registro() 
    { $login = Load::model('login');
$login->usu = input::post('loginusu');
$login->cla = input::post('logincla');
$login->ced = input::post('loginced');
$login->save();
$usuario = Load::model('usuario');
$usuario->nomb = input::post('usuarionomb');
$usuario->apell = input::post('usuarioapell');
$usuario->save();

necesito ayuda por fa.

Comentarios

  • Estimado Sirio, creo que para que eso funcione necesitas decirle al modelo que no debe usar el campo predeterminado id!
    Deberías probar modificando tus modelos:
    class Login extends ActiveRecord
    {
        public $primary_key = "ced";

    ...


    class Usuario extends ActiveRecord
    {
       public $primary_key = "ced_id";

    ...

    Luego me cuentas cómo te fue con esos cambios :-)
  • me presenta el siguiente error

    Fatal error: [] operator not supported for strings in C:\xampp\htdocs\core\libs\kumbia_active_record\kumbia_active_record.php on line 599


Sign In or Register to comment.