我正在尝试在 zend2 中进行下面的 sql 查询,但我不知道如何进行。有人有解决办法吗?
SELECT Customer_info.Name, d1.Value, d2.value , Customer_info.Status
FROM Customer_info
INNER JOIN Dataman as d1
ON d1.module='Customerinfo' and Customer_info.Status=d1.Id and d1.data_field = 'Status'
INNER JOIN Dataman as d2
ON d2.module='Customerinfo' and Customer_info.Vip_level=d2.Id and d2.data_field = 'Vip_level';
最佳答案
我已将您的查询转换为 ZF2 select 语句。请检查以下内容:
// collect the Sql instance.<br />
$sql = new Sql($this->dbSql);
$select = $sql->select();
$select->from('Customer_info')
->columns(array(
'Name',
'Status'
))
->join(
array('t2' => 'Dataman'),
new \Zend\Db\Sql\Expression("t2.module = 'Customerinfo' and Customer_info.Status=t2.Id and t2.data_field = 'Status'"),
array(
'Value'
),
$select::JOIN_INNER
)
->join(
array('t3' => 'Dataman'),
new \Zend\Db\Sql\Expression(" t3.module='Customerinfo' and Customer_info.Vip_level=t3.Id and t3.data_field = 'Vip_level' "),
array(
'value'
),
$select::JOIN_INNER
);
$resultSet = $this->tableGateway->selectWith($select);
return $resultSet;
谢谢:)
关于join - 如何在 zend 2 中进行内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20236779/