Как создать сущность динамически в доктрине на основе абстрактного класса сущности? Имена таблиц должны отличаться. НапримерDoctrine - создать модель/сущность динамически
// 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 каждой таблицы
Что вы подразумеваете под «той же структурой»? Угадайте, что вы можете решить по составу сущностей, а не по наследству. – moonwave99
Я имею в виду несколько таблиц и одну и ту же схему таблиц, и да, нет необходимости в наследовании – pleerock
Если у вас есть та же схема базы данных, у вас есть тот же объект [с другим полем transportType], которое я предполагаю]. Если вы хотите иметь разные таблицы с общими полями, загляните в [Наследование доктрины наследования] (http://docs.doctrine-project.org/en/2.0.x/reference/inheritance-mapping.html). – moonwave99