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

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -