0

Zend_Db_Table_Rowオブジェクトに対してSQL(Zend_Db_Select)クエリを実行することは可能ですか?2つのZend_Db_Table_Rowオブジェクトを結合するのはどうですか?

少し遅れているように聞こえますが、何百、何千もの行を処理しています。操作している行オブジェクトがすでにあるので、データベースに再度クエリを実行したくありません。

それがはっきりしていることを願っています。そうでない場合は、明確にするように私に依頼してください。

編集:

明確にするために、オブジェクトはメモリ内にあります。私はすでにデータベースからそれらを取得しました。

この理由は次のとおりです。

「ログ」テーブルには何千ものレコードがあります。複数のユーザー定義の基準に応じて、これらに対応する必要があります。これらのログを処理するときは時間が重要です。そこでは、これをタイムリーに実現するための新しいプロセスが分岐しています。ログごとに新しいプロセスがフォークされます。したがって、オブジェクトはすでにメモリに存在します。

4

2 に答える 2

1

関係を定義してから、RowオブジェクトでfindDependentRowset()を呼び出すことを検討してください。

http://framework.zend.com/manual/en/zend.db.table.relationships.html

于 2010-09-01T15:34:01.133 に答える
0

所有しているオブジェクトは行です。Zend_Db_Table_Rowデータベースに存在しないため、クエリを実行できません。ZFの一部としてメモリに存在します。これらは、PHPによって処理されるメモリ内のデータのセットです。データベースとは関係がないため、提案されているようにクエリを実行することはできません。

findDependentRowset()モデルまたはZend_Db_Tableクラスでテーブル間の関係を定義するために使用する必要があります。ZFJOINはテーブルに結合ステートメントを記述し、データベースにクエリを実行した後、結合されたデータがZend_Db_Table_Rowオブジェクトに含まれます。

または、ここでjoin()詳しく説明しているように、2つ以上のテーブルを一緒に使用することもできます。クエリしている選択オブジェクトで結合を行う必要があります。必要なデータを取得するには、データベースエンジンの能力を使用する必要があります。PHPでこれを行うと、datbaseを使用するよりもはるかに遅くなります。JOIN

于 2010-09-04T09:53:11.823 に答える