CollectionModify::bind

クエリのプレースホルダーに値をバインドする

説明

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::bind(array $placeholder_values)

変更操作の検索条件のプレースホルダーにパラメータをバインドします。

プレースホルダーは :NAME というフォーマットで、 ':' は NAME の前に常に存在しなければいけない 共通のプレフィックスです。NAME はプレースホルダーの実際の名前です。 この関数は、複数のエンティティを変更操作の検索時に置き換える必要がある場合、 プレースホルダーのリストを受け付けます。

パラメータ

placeholder_values

検索条件の中で置き換える値。 複数の値が許されていますし、配列の中で "PLACEHOLDER_NAME => PLACEHOLDER_VALUE" のような形で渡すこともできます。

戻り値

コマンドを実行したり、追加の操作を追加するために使う CollectionModify オブジェクトを返します。

例1 mysql_xdevapi\CollectionModify::bind の例

<?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");

$result = $collection
  ->add(
  '{"name":   "Bernie",
    "traits": ["Friend", "Brother", "Human"]}') 
  ->execute();

$collection
  ->modify("name = :name")
  ->bind(['name' => 'Bernie'])
  ->arrayAppend('traits', 'Happy')
  ->execute();

$result = $collection
  ->find()
  ->execute();

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

上の例の出力は、 たとえば以下のようになります。

Array
(
    [0] => Array
        (
            [_id] => 00005b6b53610000000000000110
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                    [3] => Happy
                )
        )
)