This repository has been archived by the owner on Dec 25, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Query Results
Kerem Güneş edited this page Jan 5, 2017
·
7 revisions
Query result should be two types after query actions.
In this example, result will be Oppa\Query\Result\Result
;
$result = $agent->query('select * from `users`');
// or
$agent->query('select * from `users`');
$result = $agent->getResult();
// result comes with a bunch of useful methods
if ($result->hasData()) ..
if ($result->count() > 0) ..
if ($result->getRowsCount() > 0) ..
// or
if ($agent->rowsCount() > 0) ..
// iterable
foreach ($result as $user) {
dump $user->name;
}
// more useful methods for selects
$users = $result->getData();
$userFirst = $result->getDataItem(0);
$userFirst = $result->item(0);
$userFirst = $result->itemFirst();
$userLast = $result->itemLast();
But here, will be array or object or null;
$user = $agent->get('select * from `users`');
dump $user->name;
And here, will be array
$users = $agent->getAll('select * from `users`');
// or
$users = $agent->select('users');
if (!empty($users)) {
foreach ($users as $user) {
dump $user->name;
}
}
After affected rows
// single insert results
$result = $agent->query("insert into `users` values(null,?,?)", ['Bob',30]);
$agent->insert('users', ['name' => 'Bob', 'old' => 30]);
// print last id
dump $agent->id();
dump $result->getId();
// multi insert results
$agent->insert('users', [['name' => 'Bob'], ['name' => 'Kerem']]);
// print last id
dump $agent->id();
dump $result->getId();
// print all last ids
dump $agent->ids();
dump $result->getIds();
// update results
$result = $agent->query('update `users` set old = 30 where id = ?', [1]);
dump $result->getRowsAffected(); // int 1
dump $agent->update('users', ['old' => 30], 'id = ?', [1]); // int 1
dump $agent->rowsAffected(); // int 1
// delete results
$result = $agent->query('delete from `users` where id = ?', [1]);
dump $result->getRowsAffected(); // int 1
dump $agent->delete('users', 'id = ?', [1]); // int 1
dump $agent->rowsAffected(); // int 1
Reset results;
$result->reset();