Zend Framework Db Select Join table help

后端 未结 4 1038
醉话见心
醉话见心 2021-01-05 20:22

I have this query:


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.         


        
相关标签:
4条回答
  • 2021-01-05 20:52

    I am going to assume you've solved this, but it would be nice to leave the answer for others.

    Add this below the instantiation of the select object.

    $query->setIntegrityCheck(false);
    
    0 讨论(0)
  • 2021-01-05 21:02

    Other example:

    select n.content, n.date, u.mail 
    from notes n, users u
    where n.id_us=u.id and reminder=current_date
    
    $query = $this->select()
        ->from(array('n'=>'notes'), 
          array('content', 'date'))
        ->join(array('u'=>'users'), 'n.id_us=u.id and n.reminder=current_date',
          array('mail'))
        ->setIntegrityCheck(false);
    return $this->fetchAll($query);

    That's work fine :)

    0 讨论(0)
  • 2021-01-05 21:12

    You could also type fewer characters....

    $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);
    

    Good luck!

    0 讨论(0)
  • 2021-01-05 21:14

    Here's how I'd write it:

    $query = $this->select();
    $query->from(array('g' => 'games'), array('title', 'asin', 'platform_id'));
    $query->join(array('r' => 'ranks'), 'g.id = r.game_id', array('rank'));
    $query->order('r.rank DESC');
    $query->limit($top);
    $resultRows = $this->fetchAll($query);
    return $resultRows;
    
    0 讨论(0)
提交回复
热议问题