私は TYPO3 をプログラミングしています - ウェブサイトの拡張機能です。Extbase Framework を使用しているので、2 つの SQL クエリを続けて実行するリポジトリ クラス (Tx_Extbase_Persistence_Repository) があります。
$query1 = $this->createQuery();
$query1->statement($sql1);
$res1 = $query1->execute();
$query2 = $this->createQuery();
$query2->statement($sql2);
$res1 = $query2->execute();
$res
1 との両方に$res2
が含まれていTx_Extbase_Persistence_QueryResult
ます。今、結合された結果を返したいのですが、これがどのように行われるのかわかりません。クラスの関数に依存しているため、生の配列を返すことはオプションではありません。QueryResult
また、sql(UNION、JOIN) を結合することも避けたいと考えています。私はすでにこれを試しました:
$myResult = $this->objectManager->create('Tx_Extbase_Persistence_ObjectStorage')
foreach($res1 as $obj) {
$myResult->attach($obj);
}
//foreach $res2
..しかし、これはエラーをスローします("could not determine the child object type"
)
では、どうすれば 2 つを適切に組み合わせることができるTx_Extbase_Persistence_QueryResult
でしょうか。
編集:
結合とは、2 つの別々の代わりに、 と のQueryResults
両方の結果を含む 1 つだけが必要であることを意味$query1
し$query2
ます。残念ながら、SQL-UNION または JOIN はオプションではありません。