私は 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();
$res1 との両方に$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 はオプションではありません。