thinkphp 模型扩展一

模型文件位置: 项目目录/Lib/Model/目录下
模型文件命名: AaBaModel.class.php  注意调用(D)的时候注意大小写
内容格式:     class AaBbNameModel extends Model {}
调用:D();

例模型文件名和表不一致时候的配置使用
        
        比如:模型名FakeModel.class.php

class FakeModel extends Model{

        protected $tableName = 'table';     //真实表名
        
        //protected $trueTableName = 'other_table'; //表前缀不是配置默认时使用

          protected $fields = array(    //手动定义表字段,不依赖字段缓存,提高性能,表改变的时候也需要改这个配置
            'id', 'title', '_pk' => 'id', '_autoinc' => true
        );

        
        //跨库跨表--同服务器
        
         protected $tableName = 'table';    //定义真实表
         protected $tablePrefix = 'other_';    //定义表前缀
         protected $modelName = 'dbname';    //跨库操作,定义同服务器的不同数据库

          
          
          
         //连接数据库.配置文件中,数组形式/DSN形式 配置文件可以定义多个数据库链接参数

        //模型中链接数据库==跨库---跨服务器 定义 protected $connection;
             //数组形式
                
                 protected $connection = array(
                    'db_type'  => 'mysql',
                    'db_user'  => 'user',
                    'db_pwd'   => 'pwd',
                    'db_host'  => 'host',
                    'db_port'  => '3306',
                    'db_name'  => 'dbname',
                );
                  
            //DSN形式
                  protected $connection = 'mysql://user:pwd@host:3306/dbname';

          //protected $trueTableName = 'news';    //配置中没有找到表前缀设置,默认think_,所以这里使用的是$trueTableName
          
          // ** 另外M方法也支持跨库操作    
}      
          
    M()的用法:    M('表名','表前缀','链接数据库配置');    //没前缀 则用NULL,数据库配置可以是直接输入数组或DSN配置,或者引用配置文件
        //无前缀,DSN配置
            $model = M('table',NULL,'mysql://user:passwd@host/dbname');
            $res=$model->select();
        //不指定表可以用table()方法
            $model = M('',NULL,'mysql://user:pwd@host/dbname');
            $res=$model->table('table')->select();
        //引入配置文件
            /* 配置文件中
             *      'DB_CONFIG1' => array(
                        'db_type'  => 'mysql',
                        'db_user'  => 'user',
                        'db_pwd'   => 'pwd',
                        'db_host'  => 'host',
                        'db_port'  => '3306',
                        'db_name'  => 'table'
                    ),
             */
             $model = M('table',NULL,'DB_CONFIG1');
             $res=$model->select();
        
         
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值