web-dev-qa-db-ja.com

Zend Framework 2でdistinctを使用する方法は?

distinct句をZend\Db\Sql\と一緒に使用するにはどうすればよいですか?

21

列の選択に式を使用します。

$select = new Select('tablename');
$select->columns(array(new Expression('DISTINCT(id) as id')));
19
Andrew

私はこの非常に便利な解決策を http://blog.abmeier.de/php/zf2-select-distinct で見つけました

$sql = new Sql($adapter);
$select = $sql->select();
$select->quantifier('DISTINCT');
31
Mihai

Mihai Dobreの答えは正しいですが、文字列リテラルを使用する代わりに、フレームワークによって提供される定数を使用する必要があると思います。これにより、コードの将来性が高まります。

$sql->select()->quantifier(\Zend\Db\Sql\Select::QUANTIFIER_DISTINCT)
19
Julian

これは私にとって最もうまくいきました。

$select = $this->select()
          ->distinct()
          ->where('user_id = ?', $user_id);

http://webphplearn.com/blog/blogdetail/Distinct_in_Zendframework2

0
Tristan Hudson