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!
good article very hopeful
Great content! Super high-quality! Keep it up! 🙂
I enjoy this website – its so usefull and helpfull.