自定义zf2连接表到单个表以获取数组

时间:2016-05-17 11:23:37

标签: sql arrays zend-framework2

您好我有一个工作公共函数,它连接3个表来获取2个数组的值。现在该进程只有一个表(table2),其中包含数组所需的所有colvalues。

我已经尝试了我所知道的所有内容来自定义,所以只有table2用于获取数组,但我得到的结果是空白的。

任何人都可以向我指出一个类似的例子,它从单个表中获取值以获得2个独立的数组。我继承了这个,所以我不知道背后的想法是什么。

提前谢谢。

公共函数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;

}

1 个答案:

答案 0 :(得分:0)

知道了,它的作品直率但工作,谢谢......

$选择 - >从( '表2');

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