Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/09/2011, 20:50
Avatar de Jennydmz
Jennydmz
 
Fecha de Ingreso: septiembre-2011
Ubicación: La Paz - Bolivia
Mensajes: 4
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Registrar datos consultados a otra tabla de la BD / Sumar datos de diferen

Bueno Triby primero muchas gracias por la bienvenida, y segundo siento escribir asi, es la costumbre y sumado a esto el apuro, pero de hoy en mas voy a escribir bien para podernos entender a la perfeccion, de todas maneras muchas gracias por la observacion.

Respecto a mi pregunta:

Ok. estube intentando hacer una edicion a una tabla al hacer el registro en otra, pero no me sale y no encuentro el como en los tutoriales, explico mejor el problema:

Tengo dos tablas relacionadas con hasmany:

- productos - tiene muchos - stocks -

(puse el hasmany en el modelo de la tabla producto: Producto.php:

Código PHP:
Ver original
  1. <?php
  2. class Producto extends AppModel{
  3.     var $name = 'Producto';
  4.     var $hasMany = array(
  5.                          'Stock' => array(
  6.                          'className' => 'Stock',
  7.                          'foreignKey' => 'producto_id',
  8.                          'dependent' => true));  
  9. }
  10. ?>

y "belongsto" en el modelo de la tabla stocks: Stock.php. Bueno ese no es el problema )

En si lo que quiero almacenar en estas tablas es:

Productos -> id, las caracteristicas principales del producto y un campo cantidad

Stocks -> id_producto, cantidad, fecha_ingreso_stock.

Osea se registraria un producto una sola ves y muchas veces los stocks que ingresen del mismo.

Entonces lo que quiero es que al registrar un nuevo stock, se sume la cantidad del mismo a la cantidad que se tenga en la tabla productos.

Lo que intente hacer fue llamar a la funcion editcantidad() desde el add.ctp del nuevo stock, funcion que me creé en el controlador de mi tabla productos (productos_controller.php), en dicha funcion trato de usar un query directo a la bd:

Código PHP:
Ver original
  1. productos_controller.php
  2.  
  3.  function editcant($id = null, $cantidad = null)
  4. {
  5.     $this->Producto->id_producto = $id;
  6.     if (!empty($this->data))
  7.     {
  8.      $this->Producto->query(UPDATE TABLE productos SET cantidad = cantidad + $cantidad WHERE id = '$id')
  9.     }
  10. }

mandandole el id del producto del cual se registra el nuevo stock y la cantidad del stock.

La verdad no me funciona y me da errores asi que supongo algo o mucho esta mal, talves mi paso de datos, de todas formas lo hice asi:

solo llame a la funcion editcant() desde add.ctp

Código PHP:
Ver original
  1. views/stocks/add.ctp
  2.  
  3. <br><h2>Registro de Stocks </h2>
  4.  
  5. <?php echo $form->create('Stock');?>
  6.  
  7. <?php echo $this->Form->create('Producto', array('action' => 'edit'));?>
  8.  
  9. <?php echo $id = $form->input('producto_id', array('type'=> 'select', 'label'=> 'Producto:  ', 'default'=> "", 'empty' => __('Selecciona un producto...', true)));?>
  10.  
  11. <?php echo $cantidad = $form->input('cantidad', array('type'=> 'text', 'label'=> 'Cantidad:  ', 'default'=> "", 'maxlength'=> '7', 'size'=>10)); ?>
  12.  
  13. <?php echo $form->input('fecha', array('dateFormat' => 'DMY','type'=> 'date', 'label'=> 'Fecha:  ', 'selected' => strtotime ('today'), 'empty' => false));?>
  14.  
  15. <?php echo $form->end('Registrar Stock');?>


En si pense que se podia enviar los datos introducidos en los input almacenandolos en dos variables $id y $cantidad, variables que recibo en la funcion, pero no me funciona, porfa una manito con esto que estoy intentandolo dias y estoy trancada en esto....PORFA!!!!

Gracias d antemano...