Asociaciones en Symfony 2 – Parte 2

Continuamos trabajando con asociaciones en Symfony 2 y en esta segunda parte vamos a enfocarnos en desarrollar el módulo de tareas (Task) de nuestra aplicación de asignaciones. Esta lección será 100% práctica ya que aplicaremos todos los conceptos adquiridos durante las lecciones pasadas,  una de las grandes novedades dentro de esta lección es la manera en que nosotros vamos a poder recuperar los usuarios de nuestra aplicación, esto con el fin de que al crear una nueva tarea este va poder asignarse a un usuario. Finalmente vamos a crear también la vista para ir mostrando todas las tareas, desde luego cada tarea indicará el usuario responsable de la misma, este video lo grabe muy inspirado así es que espero que te guste 8-)

Sin más te dejo con el video donde te hablo de todo lo mencionado anteriormente y otras características más puestas a la práctica:

Notas adicionales:

– Para crear un nuevo formulario:

– Para crear un nuevo controlador:

Espero que esta lección te haya sido útil, de ser así por favor no dudes en compartirlo en tus redes sociales, eso me ayudaría mucho para llegar a mas personas interesadas en el tema. Ah, no olvides también dejar tu comentario acá abajo 8-)

Sigue todas las lecciones del curso AQUÍ.

Saludos!!!

Repositorio oficial.

firma emm

8 respuestas a «Asociaciones en Symfony 2 – Parte 2»

  1. Edson buenas noches. Tengo un problema con estas asociaciones. Tengo usuarios que pueden tener varios certificados o ninguno. Tengo una busqueda que busca por cedula del usuario y necesito que muestre resultados del usuario solo si tiene certificados.

    Tengo esto en entidad certificados

    /**
    * @ORMManyToOne(targetEntity=»User», inversedBy=»certificates»)
    * @ORMJoinColumn(name=»idUser», referencedColumnName=»id»)
    */
    private $user;

    tengo esto en entidad usuarios
    /**
    * @ORMOneToMany(targetEntity=»Certificate», mappedBy=»user»)
    */
    private $certificates;
    public function __construct()
    {
    $this->certificates = new ArrayCollection();
    }

    En el controlador
    $idUser = $user->getIdUser();
    $repository = $this->getDoctrine()->getRepository(‘AppBundle:User’);
    $user = $repository->findOneByIdUser($idUser);
    $certificates = $user->getCertificates(); // aqui el problema

    el primer problema es que si no esta en la base de datos saca un error que dice Error:
    Call to a member function getCertificates() on a non-object. Supongo que es porque el array viene vacio cuando no encuentra registros porque cuando encuentra registros no saca error. El otro problema es que no me funciona esto

    if(!$certificates)
    {
    $this->addFlash(‘notice’,’No se encontraron certificados’);
    }

    Me puedes ayudar con esto por fa o alguien. Gracias de antemano.

    1. lo que veo mejor es el sql tradicional osea select…. Ya viendo en la documentacion me parece mejor esa, de la otra forma son mas confusas. Las otras como FindAll() pero con datos relacionados es mas problematico

        1. De verdad que he buscado como resolver este problema pero no lo encuentro y trate pero no me da he buscado pero no le encuentro solucion a esto

          1. Hola Sebastian, hay veces en las que no logro leer todos los comentarios por el factor tiempo, considera que las veces que tengo tiempo para hacerlo lo hago con plena voluntad de ayudar, no es obligación mía estar al pendiente de tus preguntas y mucho menos si lo haces de esa manera. Saludos.

          2. Yo veo que te hace falta una buena paliza.

            …..

            No mentiras jajaj he estado bromeando desde que empece con esos comentarios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *