简体   繁体   中英

Customise zf2 join tables to single table to get arrays

Hi I have a working public function that joins 3 tables to get values for 2 arrays. Now the process only has one table (table2) which contains all the colvalues required for the arrays.

I have tried everything I know to customise this so only table2 is used to get the arrays, but I just get blank results.

Can anyone point to me an example of something similar which takes values from a single table to get 2 separate arrays. I inherited this so I do not know what the thinking behind it was.

thank you in advance.

public function get2ColArray($condition)

{

    $sql =new Sql($this->adapter);

    $select = $sql->select();

    $select->from('table1');

    $select->columns(array('colval1'));

    $select->join('table2', "table1.colval2 = table2.colval3", array('colval4'), 'inner');

    $select->join('table3', "tabl1.colval1= table3.colval1", array('colval5'), 'left');

    if(!empty($condition['in']))

    foreach ($condition['in'] as $key=>$val) {

        $select->where->in($key,$val);

    }


    if(!empty($condition['where']))

    $select->where($condition['where']);



    $select->order(array('table2.colval4'=>'ASC'));

    $statement = $sql->prepareStatementForSqlObject($select);

    $sql_result = $statement->execute();

    if ($sql_result->count() > 0) {

        $results = new ResultSet();

        $data = $results->initialize($sql_result);

    }



    return $data;

}

Got it, its abit blunt but works, thanks ...

$select->from('table2');

    $select->columns(array('colval1','colval_whateveryouwantaslongasitsintable2',));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM