phalcon:官方多模块支models层,mode数据库配置

Posted 穆晟铭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phalcon:官方多模块支models层,mode数据库配置相关的知识,希望对你有一定的参考价值。

phalcon:官方多模块支models层,mode数据库配置(二)

利用:\pahlcon\mvc\model\Manager::registerNamespaceAlias()方法获取多模块下的model层

public/index.php

use Phalcon\Mvc\Model\Manager as ModelsManager;

//对模型进行别名处理
    $di->set(‘modelsManager‘, function() {
        return new ModelsManager();
    });

  

model层,我的命名空间是: 

namespace App\Modules\Backend\Models;

namespace App\Modules\Backend\Models;

use \Phalcon\Mvc\Model;
class Album extends Model {

    //id
    public $aid;
    //模板id
    public $atid;
    public $name;
    //影片id
    public $mid;
    //文章id
    public $nid;
    public $enable;
    public $create_time;

    public function beforeCreate()
    {
        if( is_null($this->create_time) )
            $this->create_time = time();

        if( is_null($this->enable) )
            $this->enable = 0;
    }

}

  

那么controller层怎么调用model数据呢。

方法有一:

$cate = \App\Modules\Backend\Models\Album::findFirst(array(
            ‘conditions‘=>"aid = :aid:",
            ‘bind‘=>array(‘aid‘=>$aid)
        ));

  

方法二(多表查询):

注册别名

 $this->modelsManager->registerNamespaceAlias(‘m‘ , ‘App\Modules\Backend\Models‘);       

        $currentPage = $this->getParam(‘page‘);
        $builder = $this->modelsManager->createBuilder()
            ->columns("aid,atid,name,mid,nid,create_time")
            ->from("m:Album")
            ->where("enable = 0")
            ->orderBy("aid ASC");

 将model下的文件,都赋给别名:m,那么调用具体的数据表就是: m:Album, m:User。。。。。。

 

 

以上是关于phalcon:官方多模块支models层,mode数据库配置的主要内容,如果未能解决你的问题,请参考以下文章

Phalcon中的model Forcing Cache(模型强制缓存)小坑

Phalcon学习-model

Apache服务器下phalcon项目报Mod-Rewrite is not enabled问题

phalcon: 目录分组后的acl权限控制

TP5单文件多文件上传

致命错误:未捕获的异常“Phalcon\Mvc\Model\Exception”与消息“语法错误,意外令牌>,