El verdadero rico no es el que tiene mucho dinero sino el que tiene tiempo para estar con la gente que quiere y hacer lo que le gusta.

Primera aplicación con CakePHP (2da Parte)

Primera aplicación con CakePHP (2da Parte)

Publicado el 29 Septiembre, 2014 por | Categoría:

Segunda parte de nuestra primera aplicación con CakePHP en el que estamos desarrollando el modulo de meseros de nuestra aplicación restaurante, realizaremos la parte de edición de meseros creando nuestra acción editar desde nuestro respectivo controlador, dentro de esta acción realizaremos unas validaciones del lado de CakePHP donde verificaremos que el id del mesero es enviado correctamente para posteriormente proceder a la modificación del registro, también realizaremos otra validación de nuestro formulario de creación y edición de meseros donde evaluaremos el campo DNI el cual este no debe ser repetido, entonces creando una regla de validación desde nuestro modelo haremos que este dato sea único en nuestra base de datos. Posteriormente realizamos la parte de eliminación de meseros creando nuestra acción eliminar y haciendo uso del método delete de CakePHP para eliminar un respectivo mesero según el id del mismo. Finalmente trataremos el tema de las rutas en CakePHP y en concreto el archivo routes.php donde podemos modificar la ruta raíz de nuestra aplicación. Cabe aclarar que todo esta basado en las convenciones de CakePHP que ya hemos tratado a detalle en videos anteriores.

A continuación te dejo el video 4 como parte del Curso de desarrollo de aplicaciones web con el framework CakePHP donde te hablo de todo lo mencionado anteriormente y muchas otras características más puestas a la práctica:

Ahora dime tú, que te pareció nuestra primera aproximación trabajando con CakePHP? pues prácticamente ya tenemos completo el modulo de meseros y vamos por más 8-) . Anímate a dejar un comentario con tu opinión y sugerencias.

Para finalizar sugiero que no te pierdas los próximos vídeos que estaré publicando periódicamente en mi blog y si te pareció interesante el artículo y el video no dudes en compartirlo en las redes sociales.Comparto el código de todo lo avanzado en el video con la base de datos para que tu mismo puedas probarlo, espero te sea muy útil 8-)

Sigue todas las lecciones del curso AQUÍ.

Saludos!!!

firma emm

 


Descargar código

Por favor comparte esta lección:

¿Te gustó el artículo? ¡Suscríbete ahora mismo!

Recibe mis últimos artículos, recursos, tutoriales y mucho más.

, ,

Comentarios

  • jose

    muy bueno, me gustaria si pueda realizar una aplicacion con login para que ingrese el usuario al sistema , pero este login tiene que tener perfiles de usuarios, donde el administrador puede ingresar a su sesion y puede realizar funciones que otros usuarios no pueden hacer y que los otros usuarios les aparesca otras funciones.

    saludos

    • Edson Mollericona Marín

      Hola José, gracias por comentar y que bueno que te haya sido útil, lo que tu te refieres es un componente que maneja CakePHP AuthComponent y hace todo lo que tu indicas, voy a ver la posibilidad de implementar en la aplicación del curso en los próximos videos, como estamos yendo paso a paso te pido paciencia pero tomare muy en cuenta tu solicitud Saludos!!!

  • Jose

    Que tal Edson cuando vas a subir el 3 video? estan muy buenos te felicito :)

    • Edson Mollericona Marín

      Hola Jose, gracias por comentar y que bueno que te sea útil el curso de CakePHP, en si el próximo video llegaría a ser el video 5 ya que hasta ahora ya son 4 videos publicados como parte del curso, te dejo el detalle en el siguiente enlace por si te perdiste de alguno 8-) Curso CakePHP . Saludos!!!

  • Daniel

    Hermano una consulta, cuando validas un campo hay alguna forma de cambiarle esl estilo de los mensajes que me retornan las validaciones? la verdad soy un poco nuevo en esto pero lo has echo alguna vez ya que yo trabajo cno bootstrap y me gustaria cambiarle el estilo de las validaciones.

    • Edson Mollericona Marín

      Hola Daniel, gracias por comentar, lo que me hablas sobre los estilos para las validaciones por su puesto que se puede ya sea con bootstrap o sin el, solo tienes que pillar la hoja de estilos que estas aplicando, y la clase o id del campo que quieres cambiar los estilos, te recomiendo que utilices la herramienta para inspeccionar elementos de tu navegador o también puedes utilizar firebug así podrás ver con exactitud el elemento que quisieras cambiar los estilos. Saludos!!!

  • guillermo haad

    Felicitaciones por los vídeos, la verdad muy instructivos y fáciles de entender.

    Amigo algún ejemplo con grillas donde se pueda exportar a Excel y pDF?

    gracias

    • Edson Mollericona Marín

      Hola Guillermo, gracias por tu comentario! tomare en cuenta tu sugerencia pero puedes estar viendo DOMPdf es una librería que te ayudara a exportar tus registros a PDF, desde luego imagino que deben existir varios. Saludos!!!

  • Lucas Jose

    Hola. Edson.
    Estoy siguiendo tus video-tutoriales. Muy buenos. Tuve que retroceder a éste por una duda.
    Supongamos el siguiente escenario:
    – En la vista para agregar meseros tengo lo siguiente:

    Form->create(‘Mesero’);
    echo $this->Form->input(‘dni’);
    echo $this->Form->input(‘nombre’);
    echo $this->Form->input(‘apellido’,array(type=>’hidden’));
    echo $this->Form->input(‘telefono’);
    echo $this->form-end(Crear Mesero);
    ?>

    – Al hacer oculto apellido, no me aparecerá el respectivo campo para rellenarlo. Bien. Eso quiero. Pero por algún extraño motivo deseo que lo que ingrese en el campo nombre sea el valor que tome dicho campo hidden (apellido).

    ¿Ésto es posible de hacer?
    Si no es en la vista… ¿Dónde? ¿De qué manera?

    Desde ya, gracias!

    • Edson

      Hola Lucas, puedes settear ese campo desde el modelo previo a persistir los datos, eso lo puedes hacer con un Callback, a continuación te facilito esa parte de la documentación para que lo puedas implementar http://book.cakephp.org/2.0/en/models/callback-methods.html . Saludos.

      • Lucas Jose

        Gracias, por responder, Edson.
        Después de darle vueltas y vuetas a los Callbacl Methods sigo sin entender nada :(
        Es más terminé mareado y me dí cuenta que no entiendo en absoluto Cake!!! Buaaaa!!!!!
        Mi problema es que no entiendo el add().

        Te paso mi problema puntual:
        Quiero crear un método add pero que tome un parámetro (apellido) para guardar el registro en la BD y sin tener que ingresar desde la vista el valor de apellido.
        O sea en la vista de ésta función tendremos:

        echo $this->Form->create(‘Mesero’);
        echo $this->Form->input(‘dni’);
        echo $this->Form->input(‘nombre’);
        echo $this->Form->input(‘telefono’);
        echo $this->Form->end(‘Agregar Crear Mesero’);

        El valor que contiene $apellido será enviado desde otro controlador que llama a la siguiente función add

        public function add($apellido=null)
        {
        if ($this->request->is(‘post’))
        {
        $this->Foto->create();
        if ($this->Foto->save($this->request->data))
        {
        $this->Session->setFlash(‘The mesero ha sido guardada.’,’default’,array(‘class’=>’success’));
        return $this->redirect(array(‘action’ => ‘index’));
        }
        else
        {
        $this->Session->setFlash(__(‘The mesero could not be saved. Please, try again.’));
        }
        }

        Como veras es la misma función add con la que trabajamos pero tomando un parámetro.

        1) En éste caso en particular, me crea el registro pero en apellido no tengo lo deseado. ¿Cómo se puede solucionar éste problema que te expongo?
        2) La otra que se me ocurrió, solución poco ortodoxa, es al final del add, hacer una consulta sql de tipo update para que modifique el campo apellido y setee en éste el valor de $apellido.
        Allí me encuentro en que no entiendo Cake, pues no doy con la manera de obtener el id del registro que acabo de crear (con create() ) y de salvar (con save() )

        Disculpa que te siga molestando, pero si te hago ésta consulta es puesto que ya agoté mis escasos recursos de conocimiento para solucionar éste problema.

        Desde ya, muchas gracias por todo!