Listo lo arregle, les paso la modificacion. function add($numberOfRecords = null) { if (!empty($this->data)) { if (!$numberOfRecords) { $this->Receiptdetail->create(); if ($this->Receiptdetail->saveMulti($this->data)) { $data2 = $this->data['Receiptdetail']; $s=0; foreach ($data2 as $g => $value) { $idtemp = $value['product_id']; $productemp = $this->Receiptdetail->Product- >find('first',array('conditions' => array('Product.id' => $idtemp),'recursive'=>-1)); $productemp['Product']['stock'] = $productemp['Product']['stock']+ $value['quantity']; $this->Receiptdetail->Product->save($productemp); $s++; } $this->Session->setFlash(__('The Receiptdetail(s) has been saved', true)); $this->redirect(array('action' => 'index')); } else { $this->Session->setFlash(__('The Receiptdeails(s) could not be saved. Please, try again.', true)); } } } $this->set('numberOfRecords', $numberOfRecords); $receipts = $this->Receiptdetail->Receipt- >find('list',array('limit'=>1,'order' => array('Receipt.id DESC'))); $products = $this->Receiptdetail->Product->find('list'); $this->set(compact('receipts', 'products')); }
On 16 mar, 09:22, javucho <j.guzman...@gmail.com> wrote: > Hola, me presento es mi primer post, ingrese a ese grupo para poder > resolver este problema, pero al ver los temas, voy dar mi opinion por > donde pueda. > > Estoy trabajando en una empresa de servicios el cual tiene un sistema > de reclamos (todo con cakephp) que lentamente se esta convirtiendo en > uno de tickets. > > Bueno, al sistema dicho le estoy adjuntando un sistema de control de > stock con salidas y entradas. > > Las salidas se asocian a los usuarios y las entradas a los > proveedores. > > Bueno, cree un modelo Receipt que seria la entrada y un modelo > Receiptdetail que es cada fila detallando el producto y la cantidad > que ingresa. > > Receiptdetail esta asociado al Producto que ingresa. Las salidas es un > diseño similar. > > Bueno, en definitiva lo que necesito es que cada vez que hay un > ingreso o una salida, se actualiza el stock del producto. > > Les adjunto el codigo del add del receiptdetail. Como veran estuve > usando un multirecord que encontre por ahi que me funciono para > agregar detalles y que se carguen al sistema. > > http://bakery.cakephp.org/articles/eskil/2008/12/29/multirecord-helpe... > > function add($numberOfRecords = null) { > if (!empty($this->data)) { > if (!$numberOfRecords) { > $this->Receiptdetail->create(); > if ($this->Receiptdetail->saveMulti($this->data)) { > $this->Session->setFlash(__('The > Receiptdetail(s) has been saved', true)); > $this->redirect(array('action' => 'index')); > } else { > $this->Session->setFlash(__('The Receiptdeails(s) > could not be saved. Please, try again.', true)); > } > } > } > $this->set('numberOfRecords', $numberOfRecords); > $receipts = > $this->Receiptdetail->Receipt->find('list',array('limit'=>1,'order' => > array('Receipt.id DESC'))); > > $products = $this->Receiptdetail->Product->find('list'); > $this->set(compact('receipts', 'products')); > } > > Bueno, no se si necesitan mas informacion. Pero que codigo debo > agregar para poder sumar las cantidades de cada Receiptdetail y > sumarle al stock que se encuentra en cada producto. > > Bueno, espero su ayuda. Gracias. -- 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-es@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.