Как использовать отдельные в Zend Framework 2?

Как я могу использовать предложение distinct с Zend\Db\Sql\?


person Emmanuel Gauthier    schedule 11.03.2013    source источник


Ответы (4)


Используйте выражение в выборе столбца.

$select = new Select('tablename');
$select->columns(array(new Expression('DISTINCT(id) as id')));
person Andrew    schedule 12.03.2013
comment
также $select-›columns(array('id' =› new Expression('DISTINCT(id)'))); Ключ станет псевдонимом - person Grzegorz; 18.04.2013
comment
Это взлом, и неправильный. отчетливое свойство строки, а не столбца. Если вам нужно более одного столбца, это вообще не сработает. - person bart; 13.07.2021


Хотя ответ Михая Добре верен, я думаю, вам следует использовать константы, предоставляемые фреймворком, вместо использования строкового литерала. Это сделает ваш код более перспективным.

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

Это сработало лучше всего для меня.

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

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

person Tristan Hudson    schedule 15.10.2018