TokyoTyrantQuery::metaSearch

Retrieve records with multiple queries

Description

public array TokyoTyrantQuery::metaSearch ( array $queries , int $type )

Executes multiple queries on a database and returns matching records. The current object is always the left most object in the search.

Parameters

queries

Array of TokyoTyrantQuery objects

type

One of the TokyoTyrant::RDBMS_* constants

Return Values

Returns the matching rows and throws TokyoTyrantException on error

Examples

Example #1 TokyoTyrantQuery::metaSearch example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost"1979);

/* Add test data */
$tt->put('cherry',     array('color' => 'red'));
$tt->put('strawberry', array('color' => 'red'));
$tt->put('apple',      array('color' => 'green'));
$tt->put('lemon',      array('color' => 'yellow'));

/* First query */
$query $tt->getQuery();
$query->addCond('color'TokyoTyrant::RDBQC_STREQ'red')->setOrder('color'TokyoTyrant::RDBQO_STRASC);

/* Second query */
$query1 $tt->getQuery();
$query1->addCond('color'TokyoTyrant::RDBQC_STREQ'yellow');

/* Get union between the queries */
var_dump($query->metaSearch(array($query1), TokyoTyrant::RDBMS_UNION));
?>

The above example will output:

array(3) {
  ["cherry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["strawberry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["lemon"]=>
  array(1) {
    ["color"]=>
    string(6) "yellow"
  }
}

See Also

  • TokyoTyrantQuery::search