0

現在、Kohana フレームワーク 3.3 を使用して Web サイトを作成しています。今日、ユーザーがニュースを閲覧できるサブページを作成したかったのですが、Kohana ORM で小さな問題が発生しました。

フィールド全体をロードするとサーバー リソースが大幅に浪費されるため、テキスト フィールドから 12 ~ 数十文字のみを取得したいと考えています。

それらの場合と同じ効果を達成する方法を知っている人はいますか?

ご回答ありがとうございます。

4

3 に答える 3

0

ORMは、レコード全体(のようなクエリSELECT * FROM ...)を処理するために設計されました。フルテキスト値を分離された(MyISAM)テーブルに格納できるため、ORMモデルはそのフィールドをスキップします。

于 2013-01-11T17:16:01.013 に答える
0

ORM の背後にあるコードを見ると、部分的なモデルを読み込むことができないようです。これを実現するには、 Database_Query_Builderクラスを と組み合わせて使用​​する必要がある場合がありますDB::expr

于 2013-01-10T01:37:49.000 に答える
0

これは ORM クラスでは不可能です。Kohana 独自のクエリ ビルダーを使用して独自のクエリを作成し、オブジェクトを ORM モデルとして返すことができるため、as_object 関数に ORM モデル名 (「my_orm_model」など) を入力します。

提案されたリンクの 1 つを Kohana 独自のクエリ ビルダーと組み合わせると、次のような結果が得られます。

DB::Query(Database::SELECT,"SELECT LEFT(field, 40) AS excerpt FROM table(s) WHERE ...")->as_object('my_orm_class')->execute();
于 2013-01-11T09:50:03.067 に答える