---------- Forwarded message ----------
From: Luis Galvan <lcgal...@gmail.com>
Date: 7 mayo, 16:38
Subject: Ayuda!!!
To: CakePHP-es


Que tal chavos, soy de México, me llamo Luis.

Bueno, espero poder explicarles mi problema:
Tengo una pagina que yo no desarrolle, en cakephp, pero me pidieron
que le
hiciera unas modificacion.
Que hasta esto, he estado batallando para realizar dichas
modifcaciones por
no conocer el cakephp, pro este no es el problema, xq ya estan las
modificacion, eran sencillas. La bronca es, que al parecer esta mal
diseñada
la base de datos, las relaciones basicamente, es lo que creo. Por que,
al
subir la base de datos tal cual esta en linea, funciona perfectamente
al dar
de alta la información, pro ya que la quiero dejar lista para que siga
en
linea y vacio los datos de las tablas, ohhhmi sorpresa, de q ocurre un
error
"SQL Error: 1062: Duplicate entry '8' for key 1". Si tal vez, m van a
decir
q estoy duplicando una un id primario o key, eso ya lo se, pro como
mecione
arriba, no conozco cakephp ni al 50% como para saber dnd puedo meterle
mano,
me explico, x eso pido su ayuda. Ya tengo varios dias, tratando de
entender
y/o buscando alguna llave q me de o hacerq a la solucion, me dicen q
pueden
ser las relaciones en las tablas, pro por que con los mismodatos de la
otra
base de datos que esta en linea si funciona?

Bueno espero haberme explicado, y diganme que es lo quenecesitan para
poder
ayudarme....

les dejo el model que se usa para dar de alta la información, si
necesitan
mas infomacion, abajo enlisto mis emails!!! de antemano gracias!!
<?php
class Empresa extends AppModel {

    var $name = 'Empresa';
    var $validate = array(
       
"paquete_id"=>array('rule'=>'validatePaqueteId','message'=>'Debe
seleccionar un paquete'),
        "title"=>array('notEmpty'),
        "direccion"=>array('notEmpty'),
        "colonia"=>array('notEmpty'),
        "ciudade_id"=>array('numeric'),
        "cp_id"=>array('numeric'),
        "telefono"=>array('notEmpty'),

    );
    var $hasMany = array(
        'Sucursale' => array(
            'className' => 'Sucursale',
            'foreignKey' => 'empresa_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'dependent' => true,
            'exclusive' => true,
            'finderQuery' => '',
            'counterQuery' => ''
        ),
        'Recibo' => array(
            'className' => 'Recibo',
            'foreignKey' => 'empresa_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'dependent' => true,
            'exclusive' => true,
            'finderQuery' => '',
            'counterQuery' => ''
        )
    );
    //The Associations below have been created with all possible keys,
those
that are not needed can be removed
    var $hasAndBelongsToMany = array(
        'CapacidadEnvio' => array(
            'className' => 'CapacidadEnvio',
            'joinTable' => 'capacidad_envios_empresas',
            'foreignKey' => 'empresa_id',
            'associationForeignKey' => 'capacidad_envio_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'unique' => 'true',
            'finderQuery' => '',
            'deleteQuery' => '',
            'insertQuery' => ''
        ),
        'FormaPago' => array(
            'className' => 'FormaPago',
            'joinTable' => 'forma_pagos_empresas',
            'foreignKey' => 'empresa_id',
            'associationForeignKey' => 'forma_pago_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'unique' => 'true',
            'finderQuery' => '',
            'deleteQuery' => '',
            'insertQuery' => ''
        )
    );
    var $belongsTo = array(
        'Status' => array(
            'className' => 'Status',
            'foreignKey' => 'status_id',
            'conditions' => 'Status.id=1',
            'fields' => '',
            'order' => '',
            'counterCache' => ''
        ),
        'Usuario' => array(
            'className' => 'Usuario',
            'foreignKey' => 'usuario_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'counterCache' => ''
        ),
        'Paquete' => array(
            'className' => 'Paquete',
            'foreignKey' => 'paquete_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'counterCache' => ''
        ),
        'Ciudade' => array(
            'className' => 'Ciudade',
            'foreignKey' => 'ciudade_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'counterCache' => ''
        ),
        'Estado' => array(
            'className' => 'Estado',
            'foreignKey' => 'estado_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'counterCache' => ''
        ),
        'Cp' => array(
            'className' => 'Cp',
            'foreignKey' => 'cp_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'counterCache' => ''
        ),
        'Banner' => array(
            'className' => 'Banner',
            'foreignKey' => 'banner_id',
            'conditions' =>'',
            'fields' => '',
            'order' => '',
            'counterCache' => ''
        ),
        'Categoria' => array(
            'className' => 'Categoria',
            'foreignKey' => 'categoria_id',
            'conditions' =>'',
            'fields' => '',
            'order' => '',
            'counterCache' => ''
        )
    );
    function validateCp($value,$params=array()){
//         return true;
        return
is_array($this->Cp-
>find('all',array('conditions'=>array("Cp.ciudade_id"=>$this-
>data['Empresa']['ciudade_id'],"Cp.id"=>$this->data['Empresa']
['cp_id']))));
    }
    function validatePaqueteId($value,$params=array()){
        return $this->data['Empresa']['paquete_id']>0;
    }}

?>

<*-----error q arroja el debug  ---->

Warning (512): SQL Error: 1062: Duplicate entry '6' for key 1 [CORE/
cake/libs/model/datasources/dbo_source.php, line 514]

Code | Context
$sql    =       "INSERT INTO `empresas` (`id`, `horarios_servicio`,
`informacion_general`, `texto_producto_1`, `texto_producto_2`,
`texto_producto_3`, `texto_producto_4`, `created`) VALUES (6, '', '',
'', '', '', '', '2010-05-07 15:57:57')"
$error  =       "1062: Duplicate entry '6' for key 1"
$out    =       null
            $out = null;
            if ($error) {
                trigger_error("<span style = \"color:Red;text-
align:left\"><b>SQL Error:</b> {$this->error}</span>",
E_USER_WARNING);

DboSource::showQuery() - CORE/cake/libs/model/datasources/
dbo_source.php, line 514
DboSource::execute() - CORE/cake/libs/model/datasources/
dbo_source.php, line 201
DboSource::create() - CORE/cake/libs/model/datasources/dbo_source.php,
line 574
Model::save() - CORE/cake/libs/model/model.php, line 1223
EmpresasController::process3() - APP/controllers/
empresas_controller.php, line 285
RegistroComponent::process() - APP/controllers/components/
registro.php, line 121
EmpresasController::registro() - APP/controllers/
empresas_controller.php, line 416
Object::dispatchMethod() - CORE/cake/libs/object.php, line 117
Dispatcher::_invoke() - CORE/cake/dispatcher.php, line 245
Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 211
[main] - APP/webroot/index.php, line 85
Query: INSERT INTO `empresas` (`id`, `horarios_servicio`,
`informacion_general`, `texto_producto_1`, `texto_producto_2`,
`texto_producto_3`, `texto_producto_4`, `created`) VALUES (6, '', '',
'', '', '', '', '2010-05-07 15:57:57')

--
Luis Galvan
Ing. Sistemas Computacionales
Cd. Juarez
Movil: (656) 133-0198
e-mail: lcgal...@gmail.com
im: laysha...@hotmail.com

--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es"
de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
cakephp...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo
enhttp://groups.google.com/group/cakephp-es?hl=es.

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a