Symfony - 来自YAML的只读实体

时间:2017-09-04 16:28:55

标签: symfony doctrine entity

是否可以拥有简单的只读实体,这些实体可以与其他学说实体关联,但是它们的数据存储在文本(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编辑器等等,然后我可以很容易地将它转换为一个完整的学说实体。

或者有关如何处理此事的任何其他建议?

1 个答案:

答案 0 :(得分:2)

已经有一个库可以提供您正在寻找的名为Alice的文件:

通过这种方式,您可以集中创建随机测试数据,并且仍然可以像往常一样使用Doctrine。

如果您想手动执行此操作,解决连接实体的问题将是一件痛苦的事。你最好的办法是将所有这些都保存在数组中,并将id作为密钥使用,但即便如此,你最终也可能会编写大量的胶水代码来连接实体。