phalcon使用model搜索时如果实现distinct功能?

想使用phalcon从数据库select到一个数量很多而且大部分数值重复的字段,如果直接搜索很可能会超过php限制的内存上限,我还不想改php.ini.
用mysql就直接加distinct了,那用phalcon该怎么办呢?

阅读 1.5k
评论
    1 个回答
    • 11.6k

    使用构建器:

    先搞个基础:

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

    直接用Distinct:

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

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

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

    使用严格模型:

    // 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...

      撰写回答

      登录后参与交流、获取后续更新提醒

      相似问题
      推荐文章