1)
Código HTML:
Ver original
The target-entity Goma\TestBundle\Entity\Color_cabello cannot be found in 'Goma\TestBundle\Entity\Apariencia#color_cabello'.
Error por los nombres de las entidades con guion bajo, Symfony reemplaza o mejor dicho quita los guiones, asi que lo mejor es trabajar sin nombres con guion
EJ: "hola_amigo" debe quedar "holaAmigo"
2)
Código HTML:
Ver original
Catchable Fatal Error: Argument 1 passed to Acme\DemoBundle\Entity\Candidato::setEstadoid() must be an instance of Acme\DemoBundle\Entity\Estado, integer given, called in C:\wamp\www\prueba\src\Acme\DemoBundle\Controller\RegistrationController.php on line 36 and defined in C:\wamp\www\prueba\src\Acme\DemoBundle\Entity\Candidato.php line 296
Estamos seteando un valor incorrecto, no se puede setear : $candidato->setCVestado(1); si el setter de Estado requiere una entidad.
Hay dos soluciones, la primera seria crear un objeto nuevo de esa entidad y setearle el valor deseado mediante el setter respectivo y pasarle este objeto.
Ej: $estado = new Estado();
$estado->setId(1);
$candidato->setCVestado($estado);
Y la otra es crear una referencia a ese objeto y setearle el valor deseado. En mi caso la tabla "Estados" tenia un valor autonumerico y un nombre, y necesitaba setearle un valor 1, que hacia referencia que estaba "Activo", asi que esta opcion me resulto perfecto
$estado = $em->getReference('Acme\DemoBundle\Entity\Estado', 1);
$entity->setEstadoid($estado);
3)
Código HTML:
Ver original
FatalErrorException: Error: Call to undefined method AN\PortalBundle\Controller\RegistrationController::getDoctrine() in C:\wamp\www\moises\portalTrabajando\src\Acme\DemoBundle\Controller\RegistrationController.php line 49
Cuando estaba intentando personalizar el formulario de "RegistrationController", una vez validado requeria hacer el respectivo insert en la BD pero no podia instanciar Doctrine, asi que esta es la forma de hacerlo
$em = $this->container->get('doctrine')->getEntityManager();
Cabe mencionar que este archivo si hubiese extendido de "Controller":
Código HTML:
Ver original
class RegistrationController extends Controller {}
No habria problemas en llamarlo de la forma normal
$em = $this->getDoctrine()->getManager();
Pero como estaba extendido de "BaseController", no estaba disponible este metodo
Código HTML:
Ver original
class RegistrationController extends BaseController {}
4)
Código HTML:
Ver original
Item "message" for "" does not exist in AcmeDemoBundle:Candidato:registro.html.twig at line 8
En mi caso esta plantilla extendia de "Layout.html.twig" y el error estaba en la plantilla "Layout.html.twig", lamentablemente Symfony en cuanto a las Plantillas Twig no es muy bueno dando los errores. A y el error era por una variable que no estaba bien definida, asi que la mejor manera es debugear el codigo, una excelente herramienta que ayuda a esto es ladybug-bundle muestra los datos mucha mas legibles, es como "var_dump" pero mas "bonito" graficamente
5)
Código HTML:
Ver original
Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken::serialize() must return a string or NULL
En las Entidades, tus propiedades fueron definidas como "private", debes definirlas como "protected"
FUENTE:
http://www.metod.si/symfony2-error-usernamepasswordtokenserialize-must-return-a-string-or-null