2016-05-17 4 views
0

こんにちは私は2つの配列の値を取得するために3つのテーブルを結合する働くpublic関数を持っています。現在、プロセスには配列に必要なすべてのcolvaluesを含む1つのテーブル(table2)しかありません。配列を取得するためにzf2結合テーブルを単一のテーブルにカスタマイズする

私はこれをカスタマイズするために知っているすべてを試したので、table2だけが配列を取得するために使用されますが、空白の結果が得られます。

誰も私に2つの別々の配列を得るために単一のテーブルから値を取る類似の例を指摘できますか?私はこれを継承したので、それの背後にある考え方がわからない。

ありがとうございます。

パブリック関数get2ColArray($条件)( '表2')から

{ 

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

} 

答えて

0

は、それを手に入れたそのABITは鈍いが、動作しますが、おかげで...

$ SELECT - >。

$select->columns(array('colval1','colval_whateveryouwantaslongasitsintable2',)); 
関連する問題