Hi Thales, No, the joining column would be the identifier, and the name would have to be the same on all joined tables.
Marco Pivetta http://twitter.com/Ocramius http://ocramius.github.com/ On 7 July 2016 at 13:25, Thales Maciel <[email protected]> wrote: > Hello, Marco! > > Thanks for the answer. > Another thing though, is it possible to explicitly tell the ORM what are > the columns it is supposed to use foi joining purposes? > > For example, it is performing something like > > select wakawaka >> from person t0 >> join employee t1 >> on t0.pid = t1.pid > > > but I'd like it to specify the column name to be joined in t1, since "pid" > is not the correct name. Suppose it is "personid" in that table. Still, the > ORM keeps using "pid", even though it does not exist. =( > > select wakawaka >> from person t0 >> join employee t1 >> on t0.pid = *t1.personid* > > > Thanks a lot! > > Best regards from Brazil, > > *Thales Vaz Maciel* > Bacharel em Sistemas de Informação - Universidade da Região da Campanha, > Bagé, RS, Brasil > Especialista em Sistemas Distribuídos - Universidade Federal do Pampa, > Bagé, RS, Brasil > Mestrando em Engenharia de Computação - Universidade Federal do Rio > Grande, Rio Grande, RS, Brasil > Informata de Nível Superior - Prefeitura Municipal de Bagé, Bagé, RS, > Brasil > http://lattes.cnpq.br/7166030596636868 > F: +55 (53) 99419258 (novo) > > 2016-07-06 22:19 GMT-03:00 Marco Pivetta <[email protected]>: > >> Hey Tales, >> >> No, the ORM won't be able to support what you want there. The current >> persisters/hydrators for JTI and STI structures require a discriminator >> column to be defined and populated with correct information. >> >> Marco Pivetta >> >> http://twitter.com/Ocramius >> >> http://ocramius.github.com/ >> >> On 7 July 2016 at 02:00, Thales Maciel <[email protected]> wrote: >> >>> Hello! >>> >>> Is there a way to produce OO inheritance without providing a >>> discriminator column and a discriminator map? >>> Instead, I'd like to specify the name of the column to be used to >>> reference the top-most entity's table's primary key. Seems that doctrine2 >>> automatically assumes the foreign key's name to be the same as the >>> referenced tables' primary key's name, which often isn't the case for >>> legacy databases. >>> >>> Instead of what is in red, I'd like to do something like what is in >>> green. =) >>> >>> <?phpnamespace MyProject\Model; >>>> /** * @Entity *@Table(name="person")* * @InheritanceType("JOINED")* * >>>> @DiscriminatorColumn(name="discr", type="string") >>>> * @DiscriminatorMap({"person" = "Person", "employee" = "Employee"})* >>>> */class Person{ >>>> // ...} >>>> /** @Entity *@Table(name="employee") >>>> @JoinColumn(name="employee.person_id", referencedColumnName="person.id >>>> <http://person.id>")* */ >>>> >>>> class Employee extends Person{ >>>> // ...} >>>> >>>> >>> >>> Thanks a lot for the help. >>> >>> -- >>> 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 https://groups.google.com/group/doctrine-user. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "doctrine-user" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/doctrine-user/b9u2IGS_LYE/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/doctrine-user. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > 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 https://groups.google.com/group/doctrine-user. > For more options, visit https://groups.google.com/d/optout. > -- 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 https://groups.google.com/group/doctrine-user. For more options, visit https://groups.google.com/d/optout.
