TableIdentifier – adicionando outros schemas na sua consulta

Hoje vamos falar de uma classe do Zend Framework 2 que serve para utilizar tabelas de outro schema na consulta, por vezes nos deparamos com registros em outra base e precisamos dar um join na mesma, coisa corriqueira num sql normal, mas no tablegateway já definimos previamente que nossa consulta utiliza um determinado schema, por fim achei essa solução utilizando dos recursos do framework.

//devemos incluir no inicio
use Zend\Db\Sql\TableIdentifier;

...
...

public function getUserLog($user_id, $date_log)
{
return $this->tableGateway->select(function (Select $select) use ($user_id, $date_log) {
$select->join(array('ulog' => new TableIdentifier('users_log', 'schema_log')), "ulog.user_id = user_id");
$select->where(array('user_id' => $user_id));
$select->where->greaterThan('date_log', $date_log);
});
}

certifique-se da sintaxe no TableIdentifier o primeiro parâmetro é o nome da tabela o segundo parâmetro é o nome da base.

Qualquer duvida, erros, ajustes e etc… comenta ai!