Zend framework2 如何在Zend Framework 2中使用distinct?

Zend framework2 如何在Zend Framework 2中使用distinct?,zend-framework2,zend-db,zend-db-select,Zend Framework2,Zend Db,Zend Db Select,如何将distinct子句与Zend\Db\Sql\一起使用?在列选择中使用表达式 $select = new Select('tablename'); $select->columns(array(new Expression('DISTINCT(id) as id'))); 我发现这个解决方案非常有用 虽然Mihai Dobre的回答是正确的,但我认为您应该使用框架提供的常量,而不是使用字符串文本。这将使您的代码更加经得起未来的考验 $sql->select()->qua

如何将
distinct
子句与
Zend\Db\Sql\
一起使用?

在列选择中使用表达式

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

我发现这个解决方案非常有用


虽然Mihai Dobre的回答是正确的,但我认为您应该使用框架提供的常量,而不是使用字符串文本。这将使您的代码更加经得起未来的考验

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

这对我最有效

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

还有$select->columns(数组('id'=>新表达式('DISTINCT(id)'));键将变为别名这是正确答案,应标记为答案
$select = $this->select()
          ->distinct()
          ->where('user_id = ?', $user_id);