私はこの問題に対してさまざまな解決策を試してきましたが、成功しませんでした。問題はこれです:
Zend_Search_Lucene からいくつかの結果が得られ、ID が 2、3、4 の 3 つの結果が得られました。
次に、Doctrine で作成された無関係なクエリからいくつかのレコードがあり、id ID: 2 と 3 を持つ 2 つのレコードが得られます。
Search Lucene の結果は、合計 3 つのレコードとしてページに表示されます。これらのうち、ID が Docrine クエリの別の ID と等しいかどうかを確認する必要があります。つまり、一致がある場合: 2=2 、 3=3 は何かを表示し、そうでない場合: 2=3 は別のものを表示します。
FOREACH を 2 回と IF ELSE ステートメントでこれを実行しようとしていますが、ページで 2 つの結果が得られます。
foreach($this->results as $r): // records form search Lucene ie 2, 3, 4
foreach($this->records2 as $r2){ // records from another table (query) 2 and 3
if(($r2['id']) == ($r->id)) {
// do something
} else {
// dosothing else
}
...等。
レコードが 2 回繰り返される理由は理解できますが、正しい結果を得る正しい方法はわかりません。誰か助けてくれませんか?私がしている愚かなことがあれば、私の謝罪。:)