Exemplo n.º 1
0
 /**
  * 架构函数
  * 取得DB类的实例对象 字段检查
  * @access public
  * @param string $name 模型名称
  * @param string $tablePrefix 表前缀
  * @param mixed $connection 数据库连接信息
  */
 public function __construct($name = '', $tablePrefix = '', $connection = '')
 {
     parent::__construct($name, $tablePrefix, $connection);
     // 聚合模型的字段信息
     if (empty($this->fields) && !empty($this->modelList)) {
         $fields = array();
         foreach ($this->modelList as $model) {
             // 获取模型的字段信息
             $result = $this->db->getFields(M($model)->getTableName());
             $_fields = array_keys($result);
             // $this->mapFields  =   array_intersect($fields,$_fields);
             $fields = array_merge($fields, $_fields);
         }
         $this->fields = $fields;
     }
     // 设置第一个模型为主表模型
     if (empty($this->masterModel) && !empty($this->modelList)) {
         $this->masterModel = $this->modelList[0];
     }
     // 主表的主键名
     $this->pk = M($this->masterModel)->getPk();
     // 设置默认外键名 仅支持单一外键
     if (empty($this->fk)) {
         $this->fk = strtolower($this->masterModel) . '_id';
     }
 }
Exemplo n.º 2
0
 public function __construct($name = '', $tablePrefix = '', $connection = '')
 {
     if ('' !== $name || is_subclass_of($this, 'AdvModel')) {
         // 如果是AdvModel子类或者有传入模型名称则获取字段缓存
     } else {
         // 空的模型 关闭字段缓存
         $this->autoCheckFields = false;
     }
     parent::__construct($name, $tablePrefix, $connection);
 }