DbRepository: Fix that virtual tables are not resolved when issuing statements

This commit is contained in:
Johannes Meyer 2017-06-06 09:33:06 +02:00
parent b8ae738f7f
commit 29f9ff5ce0

View File

@ -355,9 +355,8 @@ abstract class DbRepository extends Repository implements Extensible, Updatable,
*/
public function insert($table, array $bind)
{
$this->requireTable($table);
return $this->ds->insert(
$this->prependTablePrefix($table),
$this->clearTableAlias($this->requireTable($table)),
$this->requireStatementColumns($table, $bind)
);
}
@ -373,17 +372,13 @@ abstract class DbRepository extends Repository implements Extensible, Updatable,
*/
public function update($table, array $bind, Filter $filter = null)
{
$this->requireTable($table);
$realTable = $this->clearTableAlias($this->requireTable($table));
if ($filter) {
$filter = $this->requireFilter($table, $filter);
}
return $this->ds->update(
$this->prependTablePrefix($table),
$this->requireStatementColumns($table, $bind),
$filter
);
return $this->ds->update($realTable, $this->requireStatementColumns($table, $bind), $filter);
}
/**
@ -396,13 +391,13 @@ abstract class DbRepository extends Repository implements Extensible, Updatable,
*/
public function delete($table, Filter $filter = null)
{
$this->requireTable($table);
$realTable = $this->clearTableAlias($this->requireTable($table));
if ($filter) {
$filter = $this->requireFilter($table, $filter);
}
return $this->ds->delete($this->prependTablePrefix($table), $filter);
return $this->ds->delete($realTable, $filter);
}
/**