Я хотел бы знать, как лучше хранить различную информацию в зависимости от некоторых переменных.
Например, у меня есть ServerEntity
, я хочу хранить диски, подключенные к этому серверу. с ServerDiskEntity
.
- Если этот диск SSD, я хочу сохранить тип NAND (ML C, SL C, TL C).
- Если этот диск HDD, я хочу сохранить RPM.
Затем, когда я запрашиваю ServerEntity->getDisks()
, я проверяю, является ли тип SSD, отображает тип NAND, если тип HDD отображает RPM ,
Хранение всего в одной сущности выглядит для меня ужасно. Наличие двух отдельных сущностей (без склеивания между ними ничего) не вариант, потому что я храню некоторую другую информацию, такую как номер лотка.
Мое ближайшее предположение: ServerDiskEntity
сохраняет DiskType
и DiskId
, и я использую эту информацию для getRepository(diskType)->findOneBy(["id" => $DiskId])
, но она также выглядит очень неоптимизированной из моего POV.
Пожалуйста, кто-нибудь научит меня некоторым волхвам c, чтобы иметь чистый способ сделать это (и я бы хотел избегайте использования ElasticSearch: D)