PHP Conference Japan 2024

Collection::find

(沒有版本資訊,可能只在 Git 中)

Collection::find搜尋文件

說明

public mysql_xdevapi\Collection::find(字串 $search_condition = ?): mysql_xdevapi\CollectionFind

在資料庫集合中搜尋一個或一組文件。找到的文件會以 CollectionFind 物件的形式傳回,以便進一步修改或擷取結果。

參數

search_condition

雖然是可選的,但通常會定義一個條件來將結果限制為文件的子集。

多個元素可能會組成條件,並且語法支援參數綁定。用作搜尋條件的運算式必須是有效的 SQL 運算式。如果沒有提供搜尋條件(欄位為空),則假設為 find('true')。

回傳值

一個 CollectionFind 物件,用於驗證操作或擷取找到的文件。

範例

範例 #1 mysql_xdevapi\Collection::find() 範例

<?php
$session
= mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob", "age": 19, "job": "Swimmer"}')->execute();
$collection->add('{"name": "Fred", "age": 20, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma", "age": 21, "job": "Teacher"}')->execute();
$collection->add('{"name": "Suki", "age": 22, "job": "Teacher"}')->execute();

$find = $collection->find('job LIKE :job AND age > :age');
$result = $find
->bind(['job' => 'Teacher', 'age' => 20])
->
sort('age DESC')
->
limit(2)
->
execute();

print_r($result->fetchAll());
?>

以上範例將輸出

Array
(
    [0] => Array
        (
            [_id] => 00005b6b536100000000000000a8
            [age] => 22
            [job] => Teacher
            [name] => Suki
        )
    [1] => Array
        (
            [_id] => 00005b6b536100000000000000a7
            [age] => 21
            [job] => Teacher
            [name] => Wilma
        )
)
新增筆記

使用者貢獻的筆記

此頁面沒有使用者貢獻的筆記。
To Top