gpt4 book ai didi

php - Zend Framework 2 TableGateway 返回空结果集

转载 作者:可可西里 更新时间:2023-11-01 07:37:37 25 4
gpt4 key购买 nike

我刚刚开始使用 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'), \Zend\Db\Sql\Select::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;
}

这让我相信我获取适配器或实例化选择的方式有问题,但我似乎无法弄清楚或找到任何解决方案。

谁能帮我弄清楚我做错了什么?

最佳答案

以下代码完美运行:

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;
}

...这是在另一个文件中不小心输入的错字...

感谢 Sam 的指导,非常简单,但我只是没想过要尝试!

关于php - Zend Framework 2 TableGateway 返回空结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com