mysql - Zend Framework 2 无法从联接表中获取字段

标签 mysql zend-framework join zend-framework2

我无法从联接表中获取字段。这是我的情况,我有两个名为“query”和“region”的表,由两个 Controller QueryCOntroller 和 RegionController 处理。我尝试从 QueryController 将“查询”加入“区域”。在 View 文件中获取“查询”的“区域”名称的名称,但我无法获取所需的字段

public function fetchMine($myid)
{
    $sql = new Sql( $this->tableGateway->adapter ) ;
    $where = new Where() ;

    $where->equalTo('agent_id', $myid) ;

    $select = $sql->select() ;
    $select -> from ( $this->tableGateway->getTable() )
    -> join ( 'region' , 'query.agent_id = region.id')
    ->columns(array('*'))
    -> where( $where ) ;

    $resultSet = $this->tableGateway->selectWith($select);
    return $resultSet;
}

在我的 Module.php 中,getServiceConfig()

'Management\Model\QueryTable' =>  function($sm) {
    $tableGateway = $sm->get('QueryTableGateway');
    $table = new QueryTable($tableGateway);
    return $table;
},
'QueryTableGateway' => function ($sm) {
    $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
    $resultSetPrototype = new ResultSet();
    $resultSetPrototype->setArrayObjectPrototype(new Query());
    return new TableGateway('query', $dbAdapter, null, $resultSetPrototype);
},

最佳答案

尝试:

public function fetchMine($myid)
{       
    $select = new Select ();
    $select->from ( $this->tableGateway->getTable() );
    $select->join ( 'region' , 'query.agent_id = region.id' , Select::SQL_STAR , Select::JOIN_LEFT )
    $select->where( array( 'agent_id'=>$myid ) );

    $resultSet = $this->tableGateway->selectWith($select);
    return $resultSet;
}

那么你必须从 Region 扩展 Query 以获得查询和区域的所有属性, 查询.php:

use Management\Model\Region;
class Query extends Region
{
    //...
}

关于mysql - Zend Framework 2 无法从联接表中获取字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20180801/

相关文章:

java - 使用 @ManyToMany 关联连接三个表

mysql - CakePHP 在许多 "SET CHARACTER SET utf8"查询中找到调用结果。为什么?

mysql - 如何标记 MySQL 中的重复条目?

mysql - Delphi 和 Web 应用程序之间的行尾问题

php - 在 Zend Framework 2 中使用路由

php - Zend 框架中的 "Sub Controllers"

MYSQL有很多Join条件

mysql - INSERT 重复键后检索自动增量值

zend-framework - 如何检索 Zend_Application 使用的 Zend_Config?

php - 查询使用 COUNT 和 JOIN 所需的帮助