public static function OrderConnectStorage::load in Basic cart 8
Same name and namespace in other branches
- 8.0 src/OrderConnectStorage.php \Drupal\basic_cart\OrderConnectStorage::load()
Read from the database using a filter array.
The standard function to perform reads was db_query(), and for static queries, it still is.
db_query() used an SQL query with placeholders and arguments as parameters.
Drupal DBTNG provides an abstracted interface that will work with a wide variety of database engines.
db_query() is deprecated except when doing a static query. The following is perfectly acceptable in Drupal 8. See the handbook page on static queries
// SELECT * FROM {dbtng_example} WHERE uid = 0 AND name = 'John'
db_query("SELECT * FROM {dbtng_example} WHERE uid = :uid and name = :name", array(
':uid' => 0,
':name' => 'John',
))
->execute();
But for more dynamic queries, Drupal provides the db_select() API method, so there are several ways to perform the same SQL query. See the handbook page on dynamic queries.
// SELECT * FROM {dbtng_example} WHERE uid = 0 AND name = 'John'
db_select('dbtng_example')
->fields('dbtng_example')
->condition('uid', 0)
->condition('name', 'John')
->execute();
Here is db_select with named placeholders:
// SELECT * FROM {dbtng_example} WHERE uid = 0 AND name = 'John'
$arguments = array(
':name' => 'John',
':uid' => 0,
);
db_select('dbtng_example')
->fields('dbtng_example')
->where('uid = :uid AND name = :name', $arguments)
->execute();
Conditions are stacked and evaluated as AND and OR depending on the type of query. For more information, read the conditional queries handbook page at: http://drupal.org/node/310086
The condition argument is an 'equal' evaluation by default, but this can be altered:
// SELECT * FROM {dbtng_example} WHERE age > 18
db_select('dbtng_example')
->fields('dbtng_example')
->condition('age', 18, '>')
->execute();
Parameters
array $entry: An array containing all the fields used to search the entries in the table.
Return value
object An object containing the loaded entries if found.
See also
db_query()
File
- src/
OrderConnectStorage.php, line 177
Class
- OrderConnectStorage
- Class OrderConnectStorage.
Namespace
Drupal\basic_cartCode
public static function load($entry = array()) {
// Read all fields from the dbtng_example table.
$select = db_select(self::TABLE, 'order_connect');
$select
->fields('order_connect');
// Add each field and value as a condition to this query.
foreach ($entry as $field => $value) {
$select
->condition($field, $value);
}
// Return the result in object format.
return $select
->execute()
->fetchAll();
}