【问题标题】:Retrieving only some fields in RedBean仅检索 RedBean 中的某些字段
【发布时间】:2011-09-25 04:35:07
【问题描述】:

我正在使用 RedBean ORM 编写一些代码,我想知道我是否只能从 db 表中加载/检索一些字段。 我知道有一种加载方法,但它将整个表作为 bean。我只想获取一些字段?

嘿,当我写它时,我开始怀疑它是否不违反 RedBean 模式(或 ORM),因为只获取一些值会创建无效(只有一些值)对象/bean?我想对值进行一些延迟加载...也许还有其他一些 ORM(就像 RedBean 一样简单:) 来实现这一点?

【问题讨论】:

    标签: php mysql orm redbean


    【解决方案1】:

    只加载记录中的一些字段是没有意义的:

    • 选择较少的字段不会减少查询次数
    • 它不会减少需要传输的数据量(这与行数有关)

    此外,RedBeanPHP 已经延迟加载所有关系字段,因此无需执行此手册。如果您只对使用单个单元格感兴趣:

    R::getCell("select title from document where id = 1");
    

    或者只是从记录中获取一些字段:

    R::getRow("select id,title from document where... ");
    

    这些函数返回记录,而不是bean,这是处理简单字段和行的最快方法。

    希望这个答案能帮助...

    【讨论】:

    • 抱歉,我不同意。想象一个博客。它有 200 个帖子,每个帖子的 body 属性中有很多文本。如果您想显示所有帖子的列表,您很容易在加载所有帖子的body 属性时耗尽内存。但问题是您不需要body 来显示列表。选择性加载将在这里节省一天的时间。但无论如何,我喜欢你的 ORM,而且你做得非常好。非常感谢:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多