如何基于抽象的实体类,动态地创建规则中的实体?表名必须不同。例如
// abstract entity model
class Transport {
// $name, $type and other columns
}而创作看起来像这样:
class TransportManager {
public function registerTransport($name) {
$car = ...
// here create table $name if does not exist,
// and if it exists then just
// return Car instance of this $name table
return $car;
}用法:
$car = $transportManager->registerTransport('car');
$airplain = $transportManager->registerTransport('airplain');
$train = $transportManager->registerTransport('train');
$helicopter = $transportManager->registerTransport('helicopter');原因?我有几个(> 10)个具有相同结构的表,我希望将所有数据保存在不同的表中,以防止对每个表进行orverloading
发布于 2013-07-31 23:55:40
原理支持继承:http://docs.doctrine-project.org/en/2.0.x/reference/inheritance-mapping.html
您也可以批量生成新实体,但这取决于您的工作流程(例如,为新实体创建代码、生成迁移、执行迁移等)。
发布于 2013-12-21 09:02:36
使用一张桌子。有了正确的索引,它不应该比使用多个表慢,即使它很大。
发布于 2014-10-24 05:32:12
我会尝试这样的方法,尽管不完全是您尝试的方法:
$metadata = $cmf->getMetadataFor('YourBundle:Transport');
$metadata->setTableName('car');
//work with car
$metadata->setTableName('airplain');
//work with airplain希望能派上用场。
https://stackoverflow.com/questions/17965929
复制相似问题