(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)
TokyoTyrantQuery::metaSearch — 複数のクエリからレコードを取得する
$queries
, int $type
)複数のクエリをデータベース上で実行し、マッチするレコードを返します。 現在のオブジェクトは常に、検索結果の一番左側のオブジェクトとなります。
queries
TokyoTyrantQuery オブジェクトの配列。
type
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" } }