【问题标题】:Should sub-objects be fetched in the Model or the Model Mapper?应该在模型或模型映射器中获取子对象吗?
【发布时间】:2011-09-08 10:21:15
【问题描述】:

这是我上一个问题的后续问题:Should dependent rows be fetched in the Model or the Controller?

假设顾客可以查看图书。如果给定一个 Patron 对象,应该在哪里以及如何获取他们已签出的图书?

以下是我考虑过的一些可能性:

  • 在 Patron Model 中,添加 getBooks 方法
  • 当 Patron 实例化时,自动获取其书籍并将其存储为 books 属性
  • 在 PatronMapper 中创建一个名为 getBooks 的方法,该方法采用 Patron ID

你会推荐什么?谢谢,

【问题讨论】:

    标签: php model-view-controller zend-framework


    【解决方案1】:

    我建议你去:

    When a Patron is instantiated, automatically get its books and store it as the books property
    

    这样你就不用手动操心了

    【讨论】:

    • 我一直认为这是正确的做法,但是:假设我有一个页面列出了我数据库中的所有 Patron 对象。此页面不关心赞助人已签出的书籍。在这种情况下,实例化每个 Patron 对象也会产生大量不需要显示页面的数据库请求。这是我很纠结的部分。
    • 这很简单,只需让构造函数接受一个布尔参数。当您执行new Patron(false); 时,它不会加载它的书籍。默认new Patron();
    • 如果您有兴趣,我有一个后续问题(另一个 :)):stackoverflow.com/questions/6237991/…。再次感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2011-03-30
    • 2015-08-27
    • 1970-01-01
    • 2019-01-22
    • 2019-06-14
    • 1970-01-01
    相关资源
    最近更新 更多