我有2个两个表XXXX和YYYY。在第一个中,我有一个到第二个的外键。
create table XXXXXX
(
id int not null,
yyyyy_id int not null,
)
create table YYYYY
(
id int not null,
)
因此,在我的学说实体中,我想用学说注释来表示这种关系。但是,所有关联(OneToMany,ManyToOne等)都需要一个targetEntity
参数。
是否可以有一个像$yyyyId
这样的自定义字段并在其上进行映射?
也许是这样的:
/**
* @ORM\Column(name="yyyyy_id", type="integer")
* @ORM\@JoinTable(
* name="YYYYY",
* joinColumns={@ORM\JoinColumn(name="yyyyy_id", referencedColumnName="id", fieldName="yyyyyId")}
* )
*/
private $yyyyyId;
并且等效于:
alter table XXXXX
add constraint fk foreign key (yyyyy_id) references YYYYY (id) on delete cascade;
答案 0 :(得分:-1)
如果需要使用Doctrine从联接表重新审视数据,则需要为此表创建实体。 Documentation。 否则,您需要手动添加此关系,并使用Native SQL进行查询
答案 1 :(得分:-1)
您可以尝试这个吗?
/**
* @ORM/ManyToOne(targetEntity="App\Entity\")
*/
private $yyyyyId;