Hi
Below is a template to create annotation and database, in this model to
perform the job CLI php doctrine orm:generate-entities /var/www/project
--generate-annotations=true after php doctrine orm:schema-tool:create
you'll see that the job does not add table relationship with the company
table. I need a many to many relationship with the job table that is has
the extra columns
YAML:
person\models\entities\Person:
type: entity
repositoryClass: person\models\entities\PersonRepository
table: person
indexes:
name_person_index:
columns: [ name ]
fields:
id:
id: true
type: integer
generator:
strategy: IDENTITY
name:
type: string
length: 200
nullable: false
birth_date:
type: date
nullable: false
email:
type: string
length: 80
nullable: true
username:
type: string
length: 60
nullable: false
password:
type: string
length: 64
nullable: false
oneToMany:
jobs:
targetEntity: person\models\entities\Job
mappedBy: person\models\entities\Person
cascade: ["persist", "merge"]
------------------------------------------------------------------------------------------------------------
person\models\entities\Job:
type: entity
repositoryClass: person\models\entities\JobRepository
table: job
fields:
id:
id: true
type: integer
generator:
strategy: IDENTITY
begin_salary:
type: integer
nullable: false
monthly_salary:
type: integer
nullable: false
begin_job_date:
type: date
nullable: false
resignation_date:
type: date
nullable: false
manyToOne:
company:
targetEntity: person\models\entities\Company
joinColumn:
name: company_id
referencedColumnName: id
manyToOne:
company:
targetEntity: person\models\entities\Person
joinColumn:
name: person_id
referencedColumnName: id
--------------------------------------------------------------------------------------------------------
person\models\entities\Company:
type: entity
repositoryClass: person\models\entities\CompanyRepository
table: company
indexes:
name_company_index:
columns: [ name ]
fields:
id:
id: true
type: integer
generator:
strategy: IDENTITY
name:
type: string
length: 200
nullable: false
description:
type: text
nullable: false
oneToMany:
jobs:
targetEntity: person\models\entities\Job
mappedBy: person\models\entities\Person
cascade: ["persist", "merge"]
Em terça-feira, 7 de janeiro de 2014 06h14min34s UTC-2, Jàπ (Jasper N.
Brouwer) escreveu:
>
> Hi Sandro,
>
> My blog posts describe how to manage such a use-case, but uses annotations
> to keep it simple.
>
> You can have a look at the docs [1] and yaml driver [2] to translate the
> annotations to yaml.
>
> [1]:
> http://docs.doctrine-project.org/en/latest/reference/yaml-mapping.html
> [2]:
> https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
>
>
> --
> Jasper N. Brouwer
> (@jaspernbrouwer)
>
>
> On 6 Jan 2014, at 18:18, Sandro Cândido <[email protected]<javascript:>>
> wrote:
>
> > would be following: table Person, Company Job table where Job have extra
> columns not just the relationship.
> >
> > Sample:
> >
> > Person
> > id, name, email, name_user, password
> >
> > Company
> > id, name, description
> >
> > Job [ many - to many with ( Person, Company) ] - as created yaml for
> table
> > id, person_id, company_id, salary, date_begin_job, ..., ...
> >
> > have extra columns not just the relationship. Want to know how to mount
> the YAML which manages relationships where their extra Job table has
> columns created when running the CLI doctrine
>
>
--
You received this message because you are subscribed to the Google Groups
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/groups/opt_out.