首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZendFramework2tablegateway选择出错

ZendFramework2tablegateway选择出错
EN

Stack Overflow用户
提问于 2014-09-19 23:40:15
回答 1查看 182关注 0票数 1

未找到列:'where子句‘中的1054个未知列'total_points’

保护$tableGateway;

代码语言:javascript
复制
public function __construct(TableGateway $tableGateway)
{
    $this->tableGateway = $tableGateway;
}


public function fetchPoints$transaction_number)
{
  $results = $this->tableGateway->select(
        array('total_points' => new \Zend\Db\Sql\Expression("sum(points)")),
        array('trxnumber' => $transaction_number)
    );
    return $results[0]['total_points'];
}

它试图从哪里获取total_points列?我认为点是列,total_points是列。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-21 09:49:01

选择只接受一个参数"where“。您当前的查询是:

代码语言:javascript
复制
select * from my_table where total_points=sum(points)

女巫正在抛出预期的错误。我是想说你想:

代码语言:javascript
复制
select sum(points) as total_points from my_table where trxnumber=X

在这种情况下,您应该这样做:

代码语言:javascript
复制
$select = $this->tableGateway->getSql()->select();
$select
    ->columns(array('total_points' => new \Zend\Db\Sql\Expression("sum(points)")))
    ->where(array('trxnumber' => $transaction_number));
$result = $this->tableGateway->selectWith($select);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25943787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档