mysql - zend framework 从两个表中获取数据

标签 mysql database zend-framework frameworks

如果我用

 $query = $this
        ->select()
        ->from(array('a' => 'aanvragen'))
        ->join(array('v' => 'verloven'),
                   'v.aanvraag_id = a.id' ,array())
        ->where('a.personeelslid_id = :personeelslid_id')
        ->where('v.type = 3')
        ->bind(array(
            'personeelslid_id' => $this->_personeelslid->id
        ))
    ;
    return $this->fetchAll($query, array('aanvragen','verloven'));

我得到了正确的 record(s) 但由于 array() 而没有来自表 verloven(v) 的数据。

但是如果我像这样删除空数组:

     $query = $this
        ->select()
        ->from(array('a' => 'aanvragen'))
        ->join(array('v' => 'verloven'),
                   'v.aanvraag_id = a.id' )
        ->where('a.personeelslid_id = :personeelslid_id')
        ->where('v.type = 3')
        ->bind(array(
            'personeelslid_id' => $this->_personeelslid->id
        ))
    ;
    return $this->fetchAll($query, array('aanvragen','verloven'));

我得到一个错误:

Select query cannot join with another table.

如何从两个表中获取数据?

最佳答案

假设您使用的是 zf 1+ ,您可以根据您的模型执行以下操作,

 $sql=$this->select()
            ->setIntegrityCheck(false)
            ->from(array('a' => 'aanvragen'),array('field1','field2'))               
            ->join(array('v' => 'verloven'),'v.aanvraag_id = a.id',array('field3'))  
            ->where('a.personeelslid_id = :personeelslid_id')
            ->where('v.type = 3')   
            ->group('fieldname')
            ->order('fieldname');          

        $resultSet = $this->fetchAll($sql);
        return $resultSet; 

您需要将 setIntgrityCheck 设置为 false 才能加入选择查询.. 希望这有帮助..

关于mysql - zend framework 从两个表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20563980/

相关文章:

mysql - 正确使用连接表?

java - 如何检查一周内特定列的所有值

javascript - 使用 PHP 和 JQuery 编辑 HTML 表模板

c# - 使用另一个线程将数据从数据库加载到组合框

jquery - ZFdebug Jquery干扰

mysql - MySQL中的自动递增varchar

php - SQL 调用 - 这是正确的吗?

php - 平表到 TreeView

php - Zend\ServiceManager\Exception\ServiceNotCreatedException 尝试创建新路由时

zend-framework - 网站上的付费成员(member)资格的计划工作流程是什么?