php - Zend Framework 2如何使用连接从多个表中获取列?

标签 php mysql sql zend-framework

我正在使用 ZfcBase\Mapper\AbstractDbMapper 为我的项目编写 mysql 查询。一切都非常适合单表查询。如果我加入一些表,结果很好,但唯一的问题是我不知道如何从“加入”表中选择列。这是我的示例代码:

class XYZ extends AbstractDbMapper implements XYZInterface

    {
    public function joinTables() {
         $select = $this->getSelect();
         $select->reset('columns');
         $select->columns(array('colA','colB'))
                   ->join('ABC','ABC.colA=XYZ.colA',array('colB','colC'))
                   ->where(array('XYZ.colA' => 'value1'));
         $resultSet = $this->select($select);
         $myResults= array();
         foreach ($resultSet as $myResult) {
                $myResults[] = $myResult;
         }
         return $myResults;
    }

}

结果 $myResults 实际上是 XYZ 实体的数组。如何让 ABC 实体成为我的结果集 $myResults 的一部分?

最佳答案

添加->setIntegrityCheck(false);

我已经更新了您的代码:

public function joinTables() {
     $select = $this->getSelect();
     $select->setIntegrityCheck(false);
     $select->reset('columns');
     $select->columns(array('colA','colB'))
               ->join('ABC','ABC.colA=XYZ.colA',array('colB','colC'))
               ->where(array('XYZ.colA' => 'value1'));
     $resultSet = $this->select($select);
     $myResults= array();
     foreach ($resultSet as $myResult) {
            $myResults[] = $myResult;
     }
     return $myResults;
}

关于php - Zend Framework 2如何使用连接从多个表中获取列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23052885/

相关文章:

php - jquery 会干扰 php 吗?

php - Web 表单自动回复短信

php - 获取某个值的 mysql_query 输出位置(数字)

php - 尽管有唯一索引,但重复的记录被插入到 mysql 表中

mysql - 与 4 个表连接时字段列表不明确

php - 从自定义分类法中的自定义帖子类型帖子中提取第一张特色图片

javascript - 如何查看 Facebook 发送给我的网络请求

php - 在其他网站上显示我的数据库查询

java - SpagoBI/BIRT JDBC 连接

Mysql 上一个日期