->patch()

Applies JSON Patch changes to all records, or a specific record, in the database.

Method Syntax

$db->patch($thing, $data, $diff)

Arguments

ArgumentsTypeDescription
thing string, RecordId or StringRecordId The table name or the specific RecordId to patch.
data associative array The JSON Patch data with which to patch the records.
diff boolean Whether to return the diff of the patched record.

Example usage

// Update all records in a table
$people = $db->patch('person', [
[ "op" => 'replace', "path" => '/created_at', "value" => new Date() ],
]);

// Update a record with a specific ID
$person = $db->patch(new RecordId('person', 'tobie'), [
[ "op" => 'replace', "path" => '/settings/active', "value" => false ],
[ "op" => 'add', "path" => '/tags', "value" => ['developer', 'engineer'] ],
[ "op" => 'remove', "path" => '/temp' ],
]);

Translated query

This function will run the following query in the database.

UPDATE $thing PATCH $data;