Symfony - 从 YAML 中提取的只读实体
Symfony - Read-only entities hydrated from YAML
是否可以有简单的只读实体,可以与其他学说实体关联,但它们的数据存储在文本 ( YAML ) 文件中?
假设我有一个 product
实体,我想为每个产品设置一个类别。但是现在,我只有很少的类别(并且不需要编辑或添加),所以我不会 want/need 在数据库中创建一个拥有自己的 table 的完整学说实体。
所以我创建了一个非常简单的实体:
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 关系。
这可能吗?
而且,如何 "query" 类别? (假设我想列出以某个字母开头的所有类别)
'Why'你问?
好吧,正如我所说,现在我只有很少的类别,但也许有一天我想添加更多类别,甚至为它们提供 CRUD 编辑器等等,然后我可以轻松地将其转换为完整的学说实体。
或者关于如何解决这个问题的任何其他建议?
已经有一个名为 Alice 的图书馆可以提供您正在寻找的东西:
- https://github.com/nelmio/alice
- https://github.com/hautelook/AliceBundle
- https://github.com/fzaninotto/Faker
- https://github.com/h4cc/AliceFixturesBundle
这样你就可以批量创建随机测试数据,并且仍然可以像往常一样使用 Doctrine。
如果您想手动执行此操作,那么解决连接实体的问题将会很痛苦。最好的办法是将它们全部保存在数组中,并将 id 用作键,但即便如此,您最终可能还是会编写大量胶水代码来连接实体。
是否可以有简单的只读实体,可以与其他学说实体关联,但它们的数据存储在文本 ( YAML ) 文件中?
假设我有一个 product
实体,我想为每个产品设置一个类别。但是现在,我只有很少的类别(并且不需要编辑或添加),所以我不会 want/need 在数据库中创建一个拥有自己的 table 的完整学说实体。
所以我创建了一个非常简单的实体:
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 关系。
这可能吗? 而且,如何 "query" 类别? (假设我想列出以某个字母开头的所有类别)
'Why'你问? 好吧,正如我所说,现在我只有很少的类别,但也许有一天我想添加更多类别,甚至为它们提供 CRUD 编辑器等等,然后我可以轻松地将其转换为完整的学说实体。
或者关于如何解决这个问题的任何其他建议?
已经有一个名为 Alice 的图书馆可以提供您正在寻找的东西:
- https://github.com/nelmio/alice
- https://github.com/hautelook/AliceBundle
- https://github.com/fzaninotto/Faker
- https://github.com/h4cc/AliceFixturesBundle
这样你就可以批量创建随机测试数据,并且仍然可以像往常一样使用 Doctrine。
如果您想手动执行此操作,那么解决连接实体的问题将会很痛苦。最好的办法是将它们全部保存在数组中,并将 id 用作键,但即便如此,您最终可能还是会编写大量胶水代码来连接实体。