我有一些简单的类,它们都扩展了 Doctrine_Record。

现在我想使用 Inner Join 进行稍微复杂的查询,而不仅仅是表数据提取。

我正在使用 DQL,这是否迫使我手动定义 2 个表之间的关系?我应该定义这个关系类还是更好地更新 schema.yml 并以某种方式重新生成类代码?

如果没有这种显式的关系准备,就不可能有 DQL 连接,对吧?

有帮助吗?

解决方案

您可以将关系添加到 .yaml 文件中,然后以这种方式重新生成类。 这是 Doctrine 关于 Yaml 文件中关系的文档。

您将需要重新生成数据库,以便 Doctrine 可以根据新关系添加正确的外键约束。这相对简单,使用 命令行 Doctrine 命令 并假设您不关心丢失数据。如果您确实担心丢失数据,那么您应该使用 Doctrine 来为您管理迁移,但这超出了您的问题范围。您可以通过查看 A Frankel 的回答来找到有关迁移的更多信息 这个问题.

其他提示

我想再生类代码。我发现它总是好的做法是使用两种模式或DB作为权威来源,然后就重新和/或使用迁移。的ITs更易于维护的东西的方式。这同样适用于行走以及学说。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top