技术:ORM、Doctrine 1.1.6、KohanaPHP
使用教义 1.1.6。如何将模型分布在不同的表上?
详细情况:
我有一个实体类,它包含一个 ID、登录名和密码,并且有一个电子邮件地址、许多地址和一些其他关系。我还有另外两个类,Company 和 Person,它们扩展了 Entity。我想使用Column 聚合来扩展它们,以便所有登录名和密码信息都保存在一个地方。现在我想将特定列添加到我的 Person 类(名字、姓氏等),但我找不到如何做到这一点。文档给出的唯一示例是没有额外列的示例。
当前课程
实体类:
类实体扩展了 Doctrine_Record
{
公共函数 setTableDefinition() {
$this->setTableName('entity');
$this->hasColumn('id', 'integer', 4, array(
'类型' => '整数',
'长度' => 4,
'无符号' => 0,
'主要' => 真,
'自动增量' => 真,
));
$this->hasColumn('login', 'string', 64, array(
'类型' => '字符串',
'长度' => 64,
'固定' => 假,
'主要' => 假,
'notnull' => 真,
'自动增量' => 假,
));
$this->hasColumn('密码', '字符串', 64, 数组(
'类型' => '字符串',
'长度' => 64,
'固定' => 假,
'主要' => 假,
'notnull' => 真,
'自动增量' => 假,
));
$this->hasColumn('created', 'date', null, array(
'类型' => '日期',
'主要' => 假,
'notnull' => 假,
'自动增量' => 假,
));
$this->hasColumn('modified', 'date', null, array(
'类型' => '日期',
'主要' => 假,
'notnull' => 假,
'自动增量' => 假,
));
$this->setSubclasses(数组(
'人' => 数组(“类型” => 1)
));
}
}
人物类:
类人扩展实体
{
公共函数 setTableDefinition() {
$this->setTableName('person');
$this->hasColumn('id', 'integer', 4, array(
'类型' => '整数',
'长度' => 4,
'无符号' => 0,
'主要' => 真,
'自动增量' => 真,
));
$this->hasColumn('firstname', 'string', 255, array(
'类型' => '字符串',
'长度' => 255,
'固定' => 假,
'主要' => 假,
'notnull' => 真,
'自动增量' => 假,
));
$this->hasColumn('insertion', 'string', 64, array(
'类型' => '字符串',
'长度' => 64,
'固定' => 假,
'主要' => 假,
'notnull' => 假,
'自动增量' => 假,
));
$this->hasColumn('lastname', 'string', 255, array(
'类型' => '字符串',
'长度' => 255,
'固定' => 假,
'主要' => 假,
'notnull' => 真,
'自动增量' => 假,
));
}
}
生成的 SQL:
创建表`人`(
`id` INT AUTO_INCREMENT,
`firstname` VARCHAR(255) NOT NULL,
`插入` VARCHAR(64),
`lastname` VARCHAR(255) NOT NULL,
主键(`id`)
) 引擎 = INNODB
创建表`实体`(`
id` INT AUTO_INCREMENT,
`login` VARCHAR(64) NOT NULL,
`password` VARCHAR(64) NOT NULL,
`创建`日期,
`修改`日期,
主键(`id`)
) 引擎 = INNODB
有人可以告诉我如何做到这一点吗?