栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > thinkphp

定义 - ThinkPHP5.0完全开发手册

thinkphp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

定义 - ThinkPHP5.0完全开发手册

|版本|调整功能| |---|---| |5.0.5|`model`或者`Loader::model`方法支持传入完整的模型类名| ## 模型定义 定义一个User模型类: ~~~ namespace appindexmodel; use thinkModel; class User extends Model { } ~~~ 默认主键为自动识别,如果需要指定,可以设置属性: ~~~ namespace appindexmodel; use thinkModel; class User extends Model { protected $pk = 'uid'; } ~~~ 模型会自动对应数据表,模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,例如: | 模型名 | 约定对应数据表(假设数据库的前缀定义是 think_) | |-----|-----| | User | think_user | | UserType | think_user_type | 如果你的规则和上面的系统约定不符合,那么需要设置Model类的数据表名称属性,以确保能够找到对应的数据表。 ## 设置数据表 如果你想指定数据表甚至数据库连接的话,可以使用: ~~~ namespace appindexmodel; class User extends thinkModel { // 设置当前模型对应的完整数据表名称 protected $table = 'think_user'; // 设置当前模型的数据库连接 protected $connection = [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'thinkphp', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'think_', // 数据库调试模式 'debug'=> false, ]; } ~~~ 和连接数据库的参数一样,`connection`属性的值也可以设置为数据库的配置参数,而且也是官方推荐的方式,这样可以避免把数据库连接固化在代码里面。 > 5.0不支持单独设置当前模型的数据表前缀。 ## 模型调用 模型类可以使用静态调用或者实例化调用两种方式,例如: ~~~ // 静态调用 $user = User::get(1); $user->name = 'thinkphp'; $user->save(); // 实例化模型 $user = new User; $user->name= 'thinkphp'; $user->save(); // 使用 Loader 类实例化(单例) $user = Loader::model('User'); // 或者使用助手函数`model` $user = model('User'); $user->name= 'thinkphp'; $user->save(); ~~~ >[info]实例化模型类主要用于调用模型的自定义方法,更多用法参考后面的章节内容。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/213520.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号