2

次のように、Zend Framework 2 で select オブジェクトを使用してステートメントを実装したいと思います。

select count(*) as total from ( select id from table group by name) a;

私のコードは次のとおりです。

$sub = $adapter->select()->from('table')->group('name');
$sql = $adapter->select()
->columns('total'->new Expression('count(*)'))
->from(array('a'=>$sub));

クエリを実行すると、ブラウザは常に「$table は文字列、配列、または TableIdentifier のインスタンスでなければなりません」と表示します。

助けてくれてありがとう!

4

1 に答える 1

3

最後に、私は自分でそれを解決しました。

    $select1 = new \Zend\Db\Sql\Select();
    $select1->from('table')->columns('id')->group('name');

    $select2 = new \Zend\Db\Sql\Select();
    $select2->columns('total'->new Expression('count(*)'))
    ->from(array('a'=>$select1));
于 2014-01-08T00:38:14.003 に答える