Data Querying
The methods below are used to interact with the database and perform CRUD operations.
You can also use the query
method to run SurrealQL statements against the database.
Creating records
If we wish to create a new record in the database, we can use the create
method. The first argument
is the table name and the second argument is an associative array with the column names and values.
$person = $db->create("person:tobie", [
"name" => "Tobie",
"lastname" => "Morgan Hitchcock",
"age" => 30,
"hobbies": ["reading", "coding"]
]);
Selecting records
After when you created a record, you can now use the select
method to fetch the newly created person.
The first argument is the newly created person's ID or a string which is the table name.
$person = $db->select($person->id);
Or you can fetch it manually by using the RecordID or RecordStringId.
// using the StringRecordId
$id = StringRecordId::create("person:tobie");
$person = $db->select($id);
// using the RecordId
$id = RecordId::create("person", "tobie");
$person = $db->select($id);
Updating records
To update a record, you can use the update
method. The first argument is the RecordID or a StringRecordId,
and the second argument is an associative array with the column names and values. Updating a record can be done if 3 ways:
- update
- merge
- patch
The update
method will replace the entire record with the new values. So make sure you include all the columns in the associative array.
$person = $db->update($person->id, [
"name" => "Tobie",
"lastname" => "Morgan Hitchcock",
"age" => 31
]);
You can find more information about updating a record using the update method here.
Deleting records
To delete a record, you can use the delete
method. The first argument is the RecordID or a StringRecordId.
$db->delete($person->id);
or we can use the RecordId or StringRecordId to delete the record.
$id = StringRecordId::create("person:tobie");
$db->delete($id);
$id = RecordId::create("person", "tobie");
$db->delete($id);