1

如何处理获取一个对象的相关对象?例如对象项目有一些标签。我应该如何以及何时获取这些对象?在映射器的用户初始化中?那将是一个很大的超载。最好的方法是在系统向用户询问标签时动态加载它们,但是如果模型对映射器一无所知怎么办?或者只是使用 Doctrine 而忘记了所有这些问题?

我问这个与 PHP Zend 框架有关。但我认为任何技术都足以解决这个问题。

4

1 回答 1

2

很难回答您的问题,因为您指的不是特定的 ORM 或框架。如果您正在寻找建议,我建议您使用 Doctrine 作为模型 API 和 Zend Framework 作为独立库。

如果您需要一个功能齐全的框架,您可以查看以下任何一个:

  1. Symfony2
  2. CakePHP
  3. Zend 框架(作为框架与独立库)
  4. 代码点火器

如果您选择使用Doctrine作为您的 ORM,您可以设置模式文件以确保对象是关系感知的,然后您可以进行如下引用:

// Joins tags table by way of intermediary object_tag table providing
//  a M:1, 1:M relationship
$tags = $object->getTags();

Doctrine(1.2 不确定 2.x)确实采用延迟加载模式,其中仅在请求时才查询对象。

于 2012-04-24T20:13:53.847 回答