Zend Framework Db选择加入表帮助

tes*_*001 5 sql select zend-framework join zend-db

我有这个问题:


SELECT g.title, g.asin, g.platform_id, r.rank
        FROM games g
        INNER JOIN ranks r ON ( g.id = r.game_id )
        ORDER BY r.rank DESC
        LIMIT 5`

Run Code Online (Sandbox Code Playgroud)

现在,这是我的JOIN使用,Zend_Db_Select但它给了我数组错误


$query = $this->select();
        $query->from(array('g' => 'games'), array());
        $query->join(array('r' => 'ranks'), 'g.id = r.game_id', array('g.title', 'g.asin', 'g.platform_id', 'r.rank'));
        $query->order('r.rank DESC');
        $query->limit($top);
        $resultRows = $this->fetchAll($query);
        return $resultRows;
Run Code Online (Sandbox Code Playgroud)

谁知道我可能做错了什么?我希望显示"游戏"中的所有列以及排名表中的"排名"列.

pol*_*one 10

我会假设你已经解决了这个问题,但是给别人留下答案会很好.

在select对象的实例化下添加此项.

$query->setIntegrityCheck(false);
Run Code Online (Sandbox Code Playgroud)


小智 5

你也可以输入更少的字符....

$query = $this->select()
              ->from(array('g' => 'games'), array('title', 'asin', 'platform_id'))
              ->join(array('r' => 'ranks'), 'g.id = r.game_id', array('rank'))
              ->order('r.rank DESC')
              ->limit($top);
return $this->fetchAll($query);
Run Code Online (Sandbox Code Playgroud)

祝好运!