模型文件位置: 项目目录/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();
模型文件命名: 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();