PHP Conference Nagoya 2025

Collection::modify

(No version information available, might only be in Git)

Collection::modifyÄndert Dokumente einer Sammlung

Beschreibung

public mysql_xdevapi\Collection::modify(string $search_condition): mysql_xdevapi\CollectionModify

Ändert die Dokumente einer Sammlung, die bestimmte Suchbedingungen erfüllen. Es sind mehrere Operationen möglich und die Bindung von Parametern wird unterstützt.

Parameter-Liste

search_condition

Muss ein gültiger SQL-Ausdruck sein, der zum Abgleich der zu ändernden Dokumente verwendet wird. Ein solcher Ausdruck kann ein einfaches true sein, das auf alle Dokumente zutrifft, oder er kann Funktionen und Operatoren verwenden wie 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0' oder '_id IN ["2","5","7","10"]'.

Rückgabewerte

Wenn die Operation nicht ausgeführt wird, gibt die Funktion ein Modify-Objekt zurück, dem weitere Änderungsoperationen hinzugefügt werden können.

Wird die Operation ausgeführt, dann enthält das zurückgegebene Objekt das Ergebnis der Operation.

Beispiele

Beispiel #1 mysql_xdevapi\Collection::modify()-Beispiel

<?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": "Painter"}')->execute();

// Hinzufügen von zwei neuen Jobs für alle Painter: Artist und Crafter
$collection
->modify("job in ('Butler', 'Painter')")
->
arrayAppend('job', 'Artist')
->
arrayAppend('job', 'Crafter')
->
execute();

// Entfernen des Feldes 'beer' aus allen Dokumenten mit 'age < 21'
$collection
->modify('age < 21')
->
unset(['beer'])
->
execute();
?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top