Php/docs/tokyotyrantquery.metasearch

提供:Dev Guides
< Php
移動先:案内検索

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

参考