Mesa/Model/Mozo.php
public function mesasBorradas($mozo_id = null, $lastAccess = null){
            if ( empty($lastAccess) ) {
                return array();
            }


            $conditions = array();
            
            // si vino el mozo por parametro, es porque solo quiero las mesas de ese mozo
            if ( !empty($mozo_id) ){
               $conditions['Mozo.id'] =  $mozo_id;
            } else {
                // todos los mozos activos
                $conditions['Mozo.activo'] =  1;
            }
                       
            
            // traer solo las mesas actualizadas luego del ultimo pedido
            $conditionsMesa = array(
                    'OR' => array (
                        array(
                            'Mesa.deleted' => 1,
                            'Mesa.deleted_date >=' => $lastAccess,
                        ),
                        array(
                            'Mesa.estado_id' => MESA_CHECKOUT,
                            'Mesa.checkout >=' => $lastAccess,
                            )
                        )
                );
            $contain = $this->Mesa->defaultContain;
            $contain['conditions'] = $conditionsMesa;
            unset($contain[0]); // saco al Mozo del contain
            $optionsCreated = array(
                'contain' => array('Mesa' => $contain),
                'conditions'=> $conditions,
            );
            $mesasABM = $this->find('all', $optionsCreated);

            $mozosMesa = array();
            foreach ( $mesasABM as $abmMesas ) {
                // traer todos los mozos, con su array de mesas
                $abmMesas['Mozo']['mesas'] = $abmMesas['Mesa'];

                // enviar solo los que tienen mesas borradas
                if (!empty($abmMesas['Mesa']) ) {
                    $mozosMesa['mozos'][] = $abmMesas['Mozo'];    
                }
            }
            

            return $mozosMesa;
        }
public function mesasBorradas($mozo_id = null, $lastAccess = null){
            if ( empty($lastAccess) ) {
                return array();
            }


            $conditions = array();
            
            // si vino el mozo por parametro, es porque solo quiero las mesas de ese mozo
            if ( !empty($mozo_id) ){
               $conditions['Mozo.id'] =  $mozo_id;
            } else {
                // todos los mozos activos
                $conditions['Mozo.activo'] =  1;
            }
                       
            
            // traer solo las mesas actualizadas luego del ultimo pedido
            $conditionsMesa = array(
                    'OR' => array (
                        array(
                            'Mesa.deleted' => 1,
                            'Mesa.deleted_date >=' => $lastAccess,
                        ),
                        array(
                            'Mesa.estado_id' => MESA_CHECKOUT,
                            'Mesa.checkout >=' => $lastAccess,
                            )
                        )
                );
            $contain = $this->Mesa->defaultContain;
            $contain['conditions'] = $conditionsMesa;
            unset($contain[0]); // saco al Mozo del contain
            $optionsCreated = array(
                'contain' => array('Mesa' => $contain),
                'conditions'=> $conditions,
            );
            $mesasABM = $this->find('all', $optionsCreated);

            $mozosMesa = array();
            foreach ( $mesasABM as $abmMesas ) {
                // traer todos los mozos, con su array de mesas
                $abmMesas['Mozo']['mesas'] = $abmMesas['Mesa'];

                // enviar solo los que tienen mesas borradas
                if (!empty($abmMesas['Mesa']) ) {
                    $mozosMesa['mozos'][] = $abmMesas['Mozo'];    
                }
            }
            

            return $mozosMesa;
        }
public function mesasBorradas ( $ mozo_id = null , $ lastAccess = null ) { if ( empty ( $ lastAccess ) ) { return array ( ) ; } $ conditions = array ( ) ; // si vino el mozo por parametro, es porque solo quiero las mesas de ese mozo if ( ! empty ( $ mozo_id ) ) { $ conditions [ 'Mozo.id' ] = $ mozo_id ; } else { // todos los mozos activos $ conditions [ 'Mozo.activo' ] = 1 ; } // traer solo las mesas actualizadas luego del ultimo pedido $ conditionsMesa = array ( 'OR' => array ( array ( 'Mesa.deleted' => 1 , 'Mesa.deleted_date >=' => $ lastAccess , ) , array ( 'Mesa.estado_id' => MESA_CHECKOUT , 'Mesa.checkout >=' => $ lastAccess , ) ) ) ; $ contain = $ this -> Mesa -> defaultContain ; $ contain [ 'conditions' ] = $ conditionsMesa ; unset ( $ contain [ 0 ] ) ; // saco al Mozo del contain $ optionsCreated = array ( 'contain' => array ( 'Mesa' => $ contain ) , 'conditions' => $ conditions , ) ; $ mesasABM = $ this -> find ( 'all' , $ optionsCreated ) ; $ mozosMesa = array ( ) ; foreach ( $ mesasABM as $ abmMesas ) { // traer todos los mozos, con su array de mesas $ abmMesas [ 'Mozo' ] [ 'mesas' ] = $ abmMesas [ 'Mesa' ] ; // enviar solo los que tienen mesas borradas if ( ! empty ( $ abmMesas [ 'Mesa' ] ) ) { $ mozosMesa [ 'mozos' ] [ ] = $ abmMesas [ 'Mozo' ] ; } } return $ mozosMesa ; }
Para todos los mozos activos, me trae sus mesas eliminadas entre cada actualizacion de datos
@param int $mozo_id id del mozo, en caso de que no le pase ninguno, me busca todos
@return array Mozos con sus mesas, Comandas, detalleComanda, productos y sabores
Para todos los mozos activos me trae sus mesas eliminadas entre cada actualizacion de datos