Foros del Web » Programando para Internet » PHP » Symfony »

Dudas Doctrine, Entities(anotaciones) y Mapping

Estas en el tema de Dudas Doctrine, Entities(anotaciones) y Mapping en el foro de Symfony en Foros del Web. Buenas tardes, he hecho la prueba en dos ordenadores diferentes a instalar FOS UserBundle y he aqui los resultados, en uno de ellos me lo ...
  #1 (permalink)  
Antiguo 01/12/2011, 12:53
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 8 meses
Puntos: 2
Dudas Doctrine, Entities(anotaciones) y Mapping

Buenas tardes, he hecho la prueba en dos ordenadores diferentes a instalar FOS UserBundle y he aqui los resultados, en uno de ellos me lo hace correctamente (tengo fallos de configuracion,pero eso es otro cuento) pero con tan solo crear la entidad me vale, en la ruta "src/Acme/DemoBundle/Resources/Config/Doctrine/" no me crea ningun archivo.orm.yml ni me pide nada. En la entidad las propiedades esta puestas con las anotaciones de @ORM...

En el otro ordenador por el contrario, me genero las entidades con app/console doctrine:mapping:import y luego con generate:entities cree las entidades pero me creo las entidades sin las anotaciones...Luego al seguir los pasos para instalar FOS USerBundle, y hacer el doctrine:schema:update me dice que la clase User no tiene su correspondiente user.omr.yml. ¿POrque aqui si que me lo pide?

Saludos,

P.D:Creo que no me he explicado muy bien...
  #2 (permalink)  
Antiguo 01/12/2011, 14:07
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Dudas Doctrine, Entities(anotaciones) y Mapping

te recuerdo que leas la letra pequeña del generador de doctrine, la cual tiene un 80% de efectividad, eso quiere decirte que las entidades creadas desde base de datos tienen 20% de probabilidad de errores, por lo que debes de corregir.

en un modelo perfecto, tu ORM es el que cree la base de datos, y si en algún momento cambio el motor, el ORM lo hace por tí, lamentablemente muchos tienen que generar el modelo desde la base de datos y aún así el parser de Doctrine es una ayuda, pero no la solución, afortunadamente Doctrine dispone de lo suficiente para adaptarse a modelos de motores especializados, por el cual te recomiendo que consultes la documentación de las propiedades de Doctrine, saludos.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 04/12/2011, 07:36
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 8 meses
Puntos: 2
Respuesta: Dudas Doctrine, Entities(anotaciones) y Mapping

Es que el problema es que la entidad User tiene el siguiente codigo:
Código PHP:
<?php
// src/Acme/DemoBundle/Entity/User.php

namespace AcmeDemoBundleEntity;

use 
FOSUserBundleEntityUser as BaseUser;
use 
DoctrineORMMapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    
/**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    
protected $id;

    public function 
__construct()
    {
        
parent::__construct();
        
// your own logic
    
}
}
Claro cree a mano el User.orm.yml y claro me funciona y no me da error, pero al hacer ciertas operaciones me casca porque en el mapping puse esto:
Código YML:
Ver original
  1. Acme\DemoBundle\Entity\User:
  2.   type: entity
  3.   table: fos_user
  4.   fields:
  5.     id:
  6.       id: true
  7.       type: integer
  8.       unsigned: false
  9.       nullable: false
  10.       column: Id
  11.       generator:
  12.         strategy: IDENTITY
  13.   lifecycleCallbacks: {  }

Y claro el resto de campos de la tabla fos_user(que se cogen desde BaseUser) no aparecen...Tengo que meter todos los campos a mano??O se le puede marcar la herencia al igual que en la entidad??

Otra pregunta porque en una aplicacion en la cual solo tengo la autentificacion, tengo generadas las entidades pero no tengo nada en Resources/Config/Doctrine??Ni Yml, ni XML y no me da error...

Etiquetas: clase, doctrine, dudas, mapping
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:28.