php - Symfony2 Doctrine2 - generate Many-To-Many annotation from existing database by doctrine:mapping:import -


i want generate entities existing database using doctrine tools reverse engineering

you can ask doctrine import schema , build related entity classes executing following 2 commands.

1 $ php app/console doctrine:mapping:import acmeblogbundle annotation
2 $ php app/console doctrine:generate:entities acmeblogbundle

but doctrine detect manytoone relation in many side "providercountry" table

if need add manytomany relation have add annotation hand adding follwing annotation

in country.php add

/**  *   * @var provider $provider  *   * @orm\manytomany(targetentity="provider")  * @orm\jointable(name="provider_country",  *      joincolumns={@orm\joincolumn(name="countryid", referencedcolumnname="id")},  *      inversejoincolumns={@orm\joincolumn(name="providerid", referencedcolumnname="id")}  *      )  * */ private $providers; 

in provider.php add

  /**      * @var country $country      *       * @orm\manytomany(targetentity="country")      * @orm\jointable(name="provider_country",      *      joincolumns={@orm\joincolumn(name="providerid", referencedcolumnname="id")},      *      inversejoincolumns={@orm\joincolumn(name="countryid", referencedcolumnname="id")}      *      )      * */     private $countrys; 

so how can generate many-to-many annotation doctrine command [doctrine:mapping:import]

thanks in advance.

you can add following lines in

vendor/doctrine/orm/lib/doctrine/orm/mapping/driver/databasedriver.php

 $tables = array();     $tables[] = $schemamanager->listtabledetails("country");     $tables[] = $schemamanager->listtabledetails("provider_country");     $tables[] = $schemamanager->listtabledetails("provider");     $this->settables($schemamanager->listtables(), $tables); 

inside __construct

public function __construct(abstractschemamanager $schemamanager) 

note: override onetomany annotation.


Comments

Popular posts from this blog

android - Why am I getting the message 'Youractivity.java is not an activity subclass or alias' -

python - How do I create a list index that loops through integers in another list -

c# - “System.Security.Cryptography.CryptographicException: Keyset does not exist” when reading private key from remote machine -