| Current Path : /srv/web/sites/trentinoplant.it/httpdocs/vendor1/laminas/laminas-db/src/RowGateway/ |
| Current File : /srv/web/sites/trentinoplant.it/httpdocs/vendor1/laminas/laminas-db/src/RowGateway/RowGateway.php |
<?php
namespace Laminas\Db\RowGateway;
use Laminas\Db\Adapter\AdapterInterface;
use Laminas\Db\Sql\Sql;
use Laminas\Db\Sql\TableIdentifier;
class RowGateway extends AbstractRowGateway
{
/**
* Constructor
*
* @param string $primaryKeyColumn
* @param string|TableIdentifier $table
* @param AdapterInterface|Sql $adapterOrSql
* @throws Exception\InvalidArgumentException
*/
public function __construct($primaryKeyColumn, $table, $adapterOrSql = null)
{
// setup primary key
$this->primaryKeyColumn = empty($primaryKeyColumn) ? null : (array) $primaryKeyColumn;
// set table
$this->table = $table;
// set Sql object
if ($adapterOrSql instanceof Sql) {
$this->sql = $adapterOrSql;
} elseif ($adapterOrSql instanceof AdapterInterface) {
$this->sql = new Sql($adapterOrSql, $this->table);
} else {
throw new Exception\InvalidArgumentException('A valid Sql object was not provided.');
}
if ($this->sql->getTable() !== $this->table) {
throw new Exception\InvalidArgumentException(
'The Sql object provided does not have a table that matches this row object'
);
}
$this->initialize();
}
}