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
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 :-)