/**
* {@inheritDoc}
*/
public function find($storageName, $key)
{
$where = [];
foreach ($key as $name => $value) {
$where[] = $name . ' = ?';
}
$stmt = $this->session->prepare('SELECT * FROM ' . $storageName . ' WHERE ' . implode(' AND ', $where));
$options = new ExecutionOptions(['arguments' => array_values($key)]);
$result = $this->session->execute($stmt, $options);
$rows = iterator_to_array($result);
if (!isset($rows[0])) {
throw new NotFoundException();
}
$data = [];
foreach ($rows[0] as $column => $value) {
if (isset($key[$column])) {
continue;
}
$data[$column] = $value;
}
return $data;
}