phalcon: 多模块多表查找,多表sql

 那么多模块下,如何分页的,如果直接用->from(表名),报错找不到此类,此时要引用model类的全命名空间名称如下:

$builder = $this->modelsManager->createBuilder()
            ->columns("id,username,name,email")
            ->from('MultipleModelsUsers')
            ->orderBy("id ASC")
            ->getQuery()
            ->execute();
 
        $paginator = new QueryBuilder(array(
            "builder"=>$builder,
            "limit"=>10,
            "page"=>1
        ));

  

如果是多表查询怎么办?不可能都带:命名空间/表名吧?

单表是可以这样操作的,但是多表情况下,如:leftjoin,rightjoint等等,需要用到表别名,

phalcon中,有addfrom(表名,别名)来替代from,leftjoin,rightjoin,innerjoin等等默认有别名功能,如下:

$builder = $this->modelsManager->createBuilder()
            ->columns("u.uid,u.username,u.name,u.email")
            ->addfrom('MultipleModelsUsers','u')
            ->leftjoin("MultipleModelsLevel", 'l.uid = u.uid','l')
            ->orderBy("u.uid ASC")
            ->getQuery()
            ->execute();

  

原文地址:https://www.cnblogs.com/achengmu/p/6232803.html