是否可以拥有简单的只读实体,这些实体可以与其他学说实体关联,但是它们的数据存储在文本(YAML)文件中?
假设我有一个product
实体,我想为每个产品设置一个类别。但是现在,我只有很少的类别(并且不需要编辑或添加),所以我不希望/需要在数据库中创建一个完整的学说实体及其自己的表。
所以我创建了一个非常简单的实体:
class ProductCategory
{
private $id;
private $name;
public function getId()
{
return $this->id;
}
public function getName()
{
return $this->name;
}
}
现在我想创建一个存储数据的简单YAML文件,如下所示:
0: Cheese
1: Meat
2: Dairy Products
....
然后我想设置一个从product
实体到ProductCategory
实体的ManyToOne关系。
这可能吗? 而且,如何“查询”类别? (假设我想列出以某个字母开头的所有类别)
'为什么'你问? 好吧,就像我说的那样,我只有很少的类别,但也许有一天我想添加更多,甚至有一个CRUD编辑器等等,然后我可以很容易地将它转换为一个完整的学说实体。
或者有关如何处理此事的任何其他建议?
答案 0 :(得分:2)
已经有一个库可以提供您正在寻找的名为Alice的文件:
通过这种方式,您可以集中创建随机测试数据,并且仍然可以像往常一样使用Doctrine。
如果您想手动执行此操作,解决连接实体的问题将是一件痛苦的事。你最好的办法是将所有这些都保存在数组中,并将id作为密钥使用,但即便如此,你最终也可能会编写大量的胶水代码来连接实体。