TokyoTyrantQuery::metaSearch
(No version information available, might only be in Git)
TokyoTyrantQuery::metaSearch — 複数のクエリからレコードを取得する
説明
public TokyoTyrantQuery::metaSearch
( array $queries
, int $type
) : array
複数のクエリをデータベース上で実行し、マッチするレコードを返します。 現在のオブジェクトは常に、検索結果の一番左側のオブジェクトとなります。
パラメータ
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" } }