我正在使用 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/