(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)
TokyoTyrantQuery::metaSearch — 複数のクエリからレコードを取得する
複数のクエリをデータベース上で実行し、マッチするレコードを返します。 現在のオブジェクトは常に、検索結果の一番左側のオブジェクトとなります。
TokyoTyrantQuery オブジェクトの配列。
TokyoTyrant::RDBMS_* 定数のいずれか。
マッチする行を返します。エラー時には TokyoTyrantException をスローします。
例1 TokyoTyrantQuery::metaSearch() の例
<?php
/* テーブルデータベースに接続します */
$tt = new TokyoTyrantTable("localhost", 1979);
/* テストデータを追加します */
$tt->put('cherry', array('color' => 'red'));
$tt->put('strawberry', array('color' => 'red'));
$tt->put('apple', array('color' => 'green'));
$tt->put('lemon', array('color' => 'yellow'));
/* 最初のクエリ */
$query = $tt->getQuery();
$query->addCond('color', TokyoTyrant::RDBQC_STREQ, 'red')->setOrder('color', TokyoTyrant::RDBQO_STRASC);
/* 次のクエリ */
$query1 = $tt->getQuery();
$query1->addCond('color', TokyoTyrant::RDBQC_STREQ, 'yellow');
/* ふたつのクエリの和集合を取得します */
var_dump($query->metaSearch(array($query1), TokyoTyrant::RDBMS_UNION));
?>
上の例の出力は以下となります。
array(3) {
["cherry"]=>
array(1) {
["color"]=>
string(3) "red"
}
["strawberry"]=>
array(1) {
["color"]=>
string(3) "red"
}
["lemon"]=>
array(1) {
["color"]=>
string(6) "yellow"
}
}