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"
  }
}

参考