使用以下(简化)MySQL表定义:
create table items (
item_id int unsigned auto_increment primary key,
purchase_date date
) engine = innodb;
create table computers (
item_id int unsigned primary key,
processor_type varchar(50),
foreign key item_fk (item_id) references items (item_id)
on update restrict on delete cascade
) engine = innodb;
create table printers (
item_id int unsigned primary key,
is_duplex boolean,
foreign key item_fk (item_id) references items (item_id)
on update restrict on delete cascade
) engine = innodb;
Run Code Online (Sandbox Code Playgroud)
作为DBIx :: Class的新手,我想建模数据库实体(计算机和打印机都是项目)之间的继承关系,但是使用提供的belongs_to关系类型,这似乎很尴尬,因为与基类的关联是没有隐藏,所以仍然必须手动为两个类创建实体,并且对派生类中的基类属性的访问不同于访问它们自己的属性.
是否有一个优雅的解决方案,可以让我说:
$printer …Run Code Online (Sandbox Code Playgroud)