Doctrine 2:存储不同信息的最佳方法

问题描述 投票:0回答:1

我想知道根据某些变量存储不同信息的最佳实践是什么。

例如,我有一个ServerEntity,我想用ServerDiskEntity存储此服务器上插入的磁盘。

  • 如果此磁盘是SSD,我想存储NAND类型(MLC,SLC,TLC)。
  • 如果此磁盘是HDD,我要存储RPM。

然后,当我请求ServerEntity->getDisks()时,我检查类型是否为SSD,如果硬盘类型显示RPM,则显示NAND类型。

将所有内容存储在同一实体中对我来说很糟糕。没有两个单独的实体(没有其他东西将它们粘合在一起)是不可行的,因为我存储了一些其他信息,例如纸盘号。

我最接近的猜测是:ServerDiskEntity存储了DiskTypeDiskId,并且我将此信息用于getRepository(diskType)->findOneBy(["id" => $DiskId]),但是从我的POV来看,这似乎也没有进行优化。

[请有人教我一些魔术,以提供一种干净的方法来进行此操作(并且我想避免使用ElasticSearch:D]

doctrine-orm doctrine
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.