【问题标题】:kohana orm retrieve only specified amount of characters from text columnkohana orm 从文本列中仅检索指定数量的字符
【发布时间】:2012-12-24 07:11:19
【问题描述】:

目前我正在使用 Kohana 框架 3.3 编写一个网站。今天,我想创建一个用户可以浏览新闻的子页面,但是我遇到了 Kohana ORM 的一个小问题。

我只想从一个文本字段中检索十几个/几十个字符,因为加载整个字段会严重浪费服务器资源。

有谁知道我怎样才能达到与这些情况相同的效果?

提前感谢您的回答。

【问题讨论】:

  • 您遇到的具体问题是什么?你试过什么?

标签: php mysql orm kohana chop


【解决方案1】:

这对于 ORM 类是不可能的。您可以使用 Kohana 自己的查询构建器构建自己的查询,并且对象可以作为 ORM 模型返回,因此您在 as_object 函数中填写您的 ORM 模型名称(例如“my_orm_model”)。

将您建议的链接之一与 Kohana 自己的查询构建器结合起来,您会得到类似的结果。

DB::Query(Database::SELECT,"SELECT LEFT(field, 40) AS excerpt FROM table(s) WHERE ...")->as_object('my_orm_class')->execute();

【讨论】:

  • 谢谢你的回答,我会用的。
【解决方案2】:

查看 ORM 背后的代码,似乎无法加载部分模型。您可能必须使用Database_Query_Builder 类,结合DB::expr 来实现这一点。

【讨论】:

    【解决方案3】:

    ORM 设计用于处理整个记录(SELECT * FROM ... 之类的查询)。您可以将全文值存储在单独的 (MyISAM) 表中,因此您的 ORM 模型将跳过该字段。

    【讨论】:

    • 感谢您的回答。可惜没有 ORM 的 skip() 函数,它可以忽略(取消选择)指定字段或只检索指定数量的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2021-09-04
    • 1970-01-01
    • 2012-01-10
    相关资源
    最近更新 更多