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

时间:2021-06-04 23:03:08

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

$builder = $this->modelsManager->createBuilder()
->columns("id,username,name,email")
->from('Multiple\Models\Users')
->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('Multiple\Models\Users','u')
->leftjoin("Multiple\Models\Level", 'l.uid = u.uid','l')
->orderBy("u.uid ASC")
->getQuery()
->execute();