join - 如何在 zend 2 中进行内连接

标签 join zend-framework2

我正在尝试在 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/

相关文章:

MySQL 3 带有空值的表连接

php - 组合来自 3 个 php 应用程序的用户表

php - 从表 JOIN 中获取两个字段的值

php - 如何在 Zend Framework 2 中使用事务运行 MySQL 查询

来自 root 用户的 PHP,mkdir 权限被拒绝

php - ZF2公共(public)目录的真实路径

php - zf2 session 验证失败

bash - 合并第一列中具有相同值的行

mongodb - MongoDB 中的子查询

zend-framework2 - ZF2,使用 ZFCUser -> 使用服务管理器