Zend Framework 2 TableGateway возвращает пустой результирующий набор



Я только начинаю разработку с Zend Framework 2,и я столкнулся с препятствием.



В самом простом выражении функция fetchAll работает:



public function fetchAll()
{
$resultSet = $this->tableGateway->select();
return $resultSet;
}


Однако, когда я пытаюсь смешать в соединении следующим образом:



public function fetchAll()
{
$sql = new Sql($this->tableGateway->getAdapter());

$select = $sql->select();
$select->from('Entreprise')
->columns(array('id', 'nom', 'categorie_id'))
->join(array('C' => 'Categorie'), 'categorie_id = C.id', array('categorie' => 'nom'), ZendDbSqlSelect::JOIN_INNER);
$resultSet = $this->tableGateway->selectWith($select);
return $resultSet;
}


Результирующий запрос:



SELECT "Entreprise"."id" AS "id", "Entreprise"."nom" AS "nom", "Entreprise"."categorie_id" AS "categorie_id", "C"."nom" AS "categorie" FROM "Entreprise" INNER JOIN "Categorie" AS "C" ON "categorie_id" = "C"."id"


Имена таблиц, столбцы хороши, так как запрос не выдает ошибку, а просто возвращает пустой результирующий набор. Даже удаление соединения и просто оставление следующего кода не помогает.



public function fetchAll()
{
$sql = new Sql($this->tableGateway->getAdapter());

$select = $sql->select();
$select->from('Entreprise');
$resultSet = $this->tableGateway->selectWith($select);
return $resultSet;
}


Это заставляет меня думать, что это просто что-то не так с тем, как я получаю адаптер или создаю экземпляр select, но я просто не могу понять это или найти какое-либо решение.

Может ли кто - нибудь помочь мне понять, что я делаю не так?
590   1  

1 ответ:

Следующий код работает идеально:

public function fetchAll()
{
    $sql = new Sql($this->tableGateway->getAdapter());

    $select = $sql->select();
    $select->from('Entreprise')
        ->columns(array('id', 'nom', 'categorie_id'))
        ->join(array('C' => 'Categorie'), 'categorie_id = C.id', array('categorie' => 'nom'), \Zend\Db\Sql\Select::JOIN_INNER);
    $resultSet = $this->tableGateway->selectWith($select);
    return $resultSet;
}

...это была опечатка, случайно внесенная в другой файл...

Спасибо Сэму за ведущую роль, до смешного просто, но я просто не подумал попробовать!

Comments

    Ничего не найдено.