2016-07-19 25 views
0

nach Symfony 3 docs nach 3 Befehle ausführen:Symfony 3 Lehre MySQL - generieren Einheiten mit @ORM Anmerkungen

php bin/console doctrine:mapping:import --force AcmeBlogBundle xml 
php bin/console doctrine:mapping:convert annotation ./src 
php bin/console doctrine:generate:entities AcmeBlogBundle 

ich das Ergebnis von etwas wie bekommen sollte:

// src/Acme/BlogBundle/Entity/BlogComment.php 
namespace Acme\BlogBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Acme\BlogBundle\Entity\BlogComment 
* 
* @ORM\Table(name="blog_comment") 
* @ORM\Entity 
*/ 
class BlogComment 
{ 
    /** 
    * @var integer $id 
    * 
    * @ORM\Column(name="id", type="bigint") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="IDENTITY") 
    */ 
    private $id; 

    /** 
    * @var string $author 
    * 
    * @ORM\Column(name="author", type="string", length=100, nullable=false) 
    */ 
    private $author; 
    ..... 

leider statt Ich bekomme grob zugeordnet Klasse mit Gettern und Setter sieht so aus:

<?php 
namespace Clashers\PanelBundle\Entity; 

/** 
* Users 
*/ 
class Users 
{ 
    /** 
    * @var string 
    */ 
    private $username; 

    /** 
    * Set username 
    * 
    * @param string $username 
    * 
    * @return Users 
    */ 
    public function setUsername($username) 
    { 
     $this->username = $username; 

     return $this; 
    } 

    /** 
    * Get username 
    * 
    * @return string 
    */ 
    public function getUsername() 
    { 
     return $this->username; 
    } 

Tut einer von euch Haben Sie sich mit einem solchen Problem konfrontiert und es gelöst, ohne manuell jede Eigenschaft dem DB-Typ, Spalte zuordnen zu müssen? Gibt es irgendwelche Doctrine-Einstellungen, die ich vermisst habe, um diese Entitäten korrekt zu generieren?

+0

Ist es möglich, dass Sie diese außerhalb der Reihenfolge oder etwas ausgeführt haben? Ziehen Sie in Erwägung, die generierten XML-Zuordnungsdateien sowie die Entitätsdateien zu löschen und es erneut zu versuchen. – Cerad

+0

Haben Sie Ihre Datenbank Benutzer Tabelle überprüft? Es sollte Ihre Tabellenstruktur spiegeln. Wenn Ihre Tabelle nicht richtig eingerichtet ist, könnte das der Grund sein. – Sarcoma

+0

Und Sie müssen definitiv die generierten XML-Mapping-Dateien löschen. – Sarcoma

Antwort

1

OK, Problem gelöst. Ich habe gerade noch einmal diesen Befehl wiederholt und irgendwie habe ich gerade einen Fehler übersehen, der dadurch verursacht wurde, dass ich bereits Users-Entity erstellt habe. Dies wird wahrscheinlich Lehre verhindern, dass andere Einheiten Erstellen und Ausführen letzten Befehl

php bin/console doctrine:generate:entities AcmeBlogBundle 

ohne vollständig

verarbeitet
php bin/console doctrine:mapping:convert annotation ./src 

wird nach oben mit fehlenden Anmerkungen am Ende wie ich je hatte.