class Usuarios extends ActiveRecord {
//put your code here
public function initialize(){
$this->primary_key('cod_usuario');
}
}
donde cod_usuario es la clave primaria, como estoy trabajando en modo
de desarrollo el core me devuelve el siguiene mensaje:
KumbiaException: No existe el método 'primary_key' en
ActiveRecord::Usuarios (0)
En el archivo C:\xampp\htdocs\kumbia\core\libs\db\active_record_base
\active_record_base.php en la línea: 525
No me puedo dar el lujo de cambiar los campos de la base de datos.
Espero me puedan ayudar.
Saludos cordiales
--
Viva KumbiaPHP Framework!
http://www.kumbiaphp.com/
Ha recibido este mensaje porque está suscrito a Grupo "KumbiaPHP Framework" de Grupos de Google.
Para obtener más opciones, visita este grupo en http://groups.google.com/group/kumbia?hl=es.
To unsubscribe from this group, send email to kumbia+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
--Query de la tabla--
CREATE TABLE `usuarios` (
`cod_usuario` int(11) NOT NULL AUTO_INCREMENT,
`nombres` varchar(60) NOT NULL,
`apellidos` varchar(60) NOT NULL,
`username` varchar(30) NOT NULL,
`clave` varchar(15) NOT NULL,
PRIMARY KEY (`cod_usuario`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
---Modelo----
class Usuarios extends ActiveRecord {
//put your code here
public function initialize() {
$this->primary_key=array('cod_usuario');
}
public function listarUsuarios(){
return $this->find();
}
}
?>
--Controlador--
Load::model('usuarios');
class UsuariosController extends ApplicationController {
//put your code here
public function index(){
$usuarios = new Usuarios();
$this->usuarios = $usuarios->listarUsuarios();
}
public function insertar(){
if(Input::hasPost('usuario')){
$usuario = new Usuarios(Input::post('usuario'));
if(!$usuario->save()){
Flash::error('Fallo Insercion');
}else
Flash::valid('Operacion exitosa');
}
}
}
?>
--Vista--
<table><?php echo Form::open('usuarios/insertar'); ?>
<tr><td>Nombres: <?php echo Form::text('usuario.nombres'); ?></
td></tr>
<tr><td>Apellidos: <?php echo Form::text('usuario.apellidos'); ?></
td></tr>
<tr><td>Username: <?php echo Form::text('usuario.username'); ?></
td></tr>
<tr><td>Clave: <?php echo Form::pass('usuario.clave'); ?></td></
tr>
<tr><td><?php echo Form::submit('Enviar'); ?></td></tr>
</table><?php echo Form::close(); ?>
Espero me puedas ayudar porque todas las tablas estan ya creadas con
su propio estandard el mismo que no puede ser modificado, si me
complico la vida con una insercion no me quiero imaginar con las
relaciones entre tablas
De antemano gracias a todos los que puedan leer el post
On 20 mar, 18:55, José Alberto <unjosealbe...@gmail.com> wrote:
> Prueba esto:
>
> $this->primary_key=array('cod_usuario');
>
> El 21 de marzo de 2010 00:31, Jameson Villanueva <
> jameson.villanu...@gmail.com> escribió:
public function insertar(){
if(Input::hasPost('usuario')){
$usuario = new Usuarios(Input::post('usuario'));
if(!$usuario->save()){
Flash::error('Fallo Insercion');
}else
Flash::valid('Operacion exitosa');
}
}
no me muestra ningun mensaje de error, sin embargo al hacer un alter a
la tabla de esta forma:
ALTER TABLE `prueba`.`usuarios` CHANGE COLUMN `cod_usuario` `id`
INT(11) NOT NULL AUTO_INCREMENT,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`id`);
la insercion se realiza y luego me lanza un error de este tipo
KumbiaException: Unknown column 'cod_usuario' in 'where clause' al
ejecutar <em>"SELECT id,nombres,apellidos,username,clave FROM usuarios
WHERE cod_usuario = '1' LIMIT 1"</em> (0)
seguramente por el alter a la tabla, favor darme una mano e indicarme
como uds proceden cuando tienen modelos ya definidos con anterioridad
y que no pueden ser modificados para trabajas con un CRUD
De nuevo reitero mi agradecimiento por leer este post
saludos cordiales
On 20 mar, 21:36, Deivinson Tejeda <deivinsontej...@kumbiaphp.com>
wrote:
> ninguna de las dos opciones va funcionar, la forma correctar es la siguiente
>
> class Model extends ActiveRecord
> {
> public $primary_key = array('cod_usuario');
>
> }
>
> Éxitos!
>
> 2010/3/20 José Alberto <unjosealbe...@gmail.com>
>
>
>
> > Prueba esto:
>
> > $this->primary_key=array('cod_usuario');
>
> > El 21 de marzo de 2010 00:31, Jameson Villanueva <
> > jameson.villanu...@gmail.com> escribió:
To unsubscribe from this group, send email to kumbia+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
CREATE TABLE `usuarios` (
`cod_usuario` int(11) NOT NULL AUTO_INCREMENT,
`nombres` varchar(60) NOT NULL,
`apellidos` varchar(60) NOT NULL,
`username` varchar(30) NOT NULL,
`clave` varchar(15) NOT NULL,
PRIMARY KEY (`cod_usuario`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
donde mi primary_key no tiene de nombre id conforme las convenciones
sugeridas por kumbia, sino cod_usuario, q es un estandard creado para
un sistema que esta funcionando actualmente y lo que deseo es hacer un
modulo web, espero haber sido mas claro, gracias por las respuestas
Saludos cordiales
On 21 mar, 14:07, Deivinson Tejeda <deivinsontej...@kumbiaphp.com>
wrote:
> OK, ahora no entiendo que quieres hacer... reformula tu duda por favor...
>
> Éxito!
>
> 2010/3/21 Jameson Villanueva <jameson.villanu...@gmail.com>
On 21 mar, 16:28, Jameson Villanueva <jameson.villanu...@gmail.com>
wrote:
To unsubscribe from this group, send email to kumbia+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
Saludos cordiales,
Jameson
On 22 mar, 07:34, Deivinson Tejeda <deivinsontej...@kumbiaphp.com>
wrote:
> Para el ActiveRecord actual no es posible en el nuevo ActiveRecord (aun no
> esta disponible) si se podrá manejar esto mas libremente...
>
> Sin embargo podrías usas las consultas, pero para un save() no te
> funcionara...
>
> Éxitos...
>
> 2010/3/22 Jameson Villanueva <jameson.villanu...@gmail.com>
To unsubscribe from this group, send email to kumbia+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
On 22 mar, 08:51, Deivinson Tejeda <deivinsontej...@kumbiaphp.com>
wrote:
> Para los inserts pudieras utilizar la class DbBase....
>
> 2010/3/22 Jameson Villanueva <jameson.villanu...@gmail.com>