Doctrine 2.1 - 将实体映射到多个表

MrM*_*Muh 5 wordpress entity doctrine class-table-inheritance doctrine-orm

我有以下数据库情况:

wp_users (user table generated by wordpress)
ID | user_login | ... 

wp_sp_user (extension to the wp_users table)
ID (FK) | surname | address | ... 
Run Code Online (Sandbox Code Playgroud)

现在我已经花了好几个小时将这两个表"融合"成一个单独的User实体,例如:

class User {
  var ID;
  var user_login;
  var surname;
  var address;
  ...
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在不修改wp_user表的情况下完成这样的映射(我不想为了更新原因而做)?

Tlm*_*aK0 16

有时数据库重构是不可能的,或者表有自己的"存在理由".在这种情况下,您可以使用继承.您的用户类可以扩展帐户.将帐户映射到wp_users并使用wp_sp_user表扩展它.用户类将使用两个表的列.

这是学说文档:

https://www.doctrine-project.org/projects/doctrine-orm/en/current/reference/inheritance-mapping.html

  • @MrMuh这是正确和有用的,而接受的答案不正确/过时.请考虑将此作为接受的答案. (2认同)