0

我想使用 zf2 从第一个和第二个表中选择字段进行简单的连接,但是当我尝试将字段数组放入 columns 方法时出现错误(“无法执行语句”)。

public function fetchAll()
{
    $resultSet = $this->tableGateway->select(function (Select $select) {
        $select->columns();// ->with params gives an 'Statement could not be executed'
        $select->join(array('t2' => 'categories'), 'table1.idCategory = t2.id');
        $select->order('dateTime DESC')->limit(100);
    });  
...
}
4

2 回答 2

0

您需要确保 dateTime/id 字段位于您提供的列列表中。

如果您转储异常 ($e->getTraceAsString()),您将获得有关导致错误的原因的更多信息。

于 2013-02-08T09:31:51.350 回答
0

评论此语句在数组中添加至少一个有效的“列”名称(表列/字段名称)。

$select->columns(array('column_one', 'column_two', 'column_N'));

一个空白$select->columns();语句会生成类似于SELECT FROM table_name导致错误的 sql 查询。

当您注释此语句时,它会生成类似的 sql 查询SELECT * FROM table_name ,如果您传递列名,星号将被它们替换。

于 2013-04-19T10:11:48.313 回答