Zend Framework Db Select Join table help

22,010

Solution 1

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

Solution 2

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!

Share:
22,010
tester2001
Author by

tester2001

Updated on July 09, 2022

Comments

  • tester2001
    tester2001 almost 2 years

    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.rank DESC
            LIMIT 5`
    
    

    Now, this is my JOIN using Zend_Db_Select but it gives me array error

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

    Anyone know what I could be doing wrong? I want to get all the columns in 'games' to show and the 'rank' column in the ranks table.

  • Elzo Valugi
    Elzo Valugi over 13 years
  • Azizur Rahman
    Azizur Rahman over 12 years
    Thanks for this. This was a great help in solving problem with same column names in joined tables.