protected function getPrimaryKeyCondition($values)
{
$primary = $this->getTableInfo()->getPrimaryKeys();
if (count($primary) === 0) {
throw new TDbException('dbtablegateway_no_primary_key_found', $this->getTableInfo()->getTableFullName());
}
$criteria = array();
$bindings = array();
$i = 0;
foreach ($primary as $key) {
$column = $this->getTableInfo()->getColumn($key)->getColumnName();
$criteria[] = $column . ' = :' . $key;
$bindings[$key] = isset($values[$key]) ? $values[$key] : $values[$i++];
}
return array(implode(' AND ', $criteria), $bindings);
}