鍍金池/ 問答/PHP  數(shù)據(jù)庫  網(wǎng)絡(luò)安全/ phalcon使用model搜索時(shí)如果實(shí)現(xiàn)distinct功能?

phalcon使用model搜索時(shí)如果實(shí)現(xiàn)distinct功能?

想使用phalcon從數(shù)據(jù)庫select到一個(gè)數(shù)量很多而且大部分?jǐn)?shù)值重復(fù)的字段,如果直接搜索很可能會(huì)超過php限制的內(nèi)存上限,我還不想改php.ini.
用mysql就直接加distinct了,那用phalcon該怎么辦呢?

回答
編輯回答
怪痞

使用構(gòu)建器:

先搞個(gè)基礎(chǔ):

$queryBuilder = $this->getDI()->getModelsManager()
    ->createBuilder()
    ->addFrom('tableName', 't');

直接用Distinct:

$queryBuilder->distinct('t.id');

用列方法也可以, 不推薦:

$queryBuilder->columns('DISTINCT(t.id) AS id')

使用嚴(yán)格模型:

// we are waiting for it, but may still not be implemented
TableModel::find(array('distinct' => 'id'))
For count:

TableModel::count(array("distinct" => "id"));
And less recommended way according to previous answer:

TableModel::find(array('columns' => 'distinct(id)'))

抄襲自so
https://stackoverflow.com/a/3...

2018年4月24日 00:25