牛骨文教育服务平台(让学习变的简单)
博文笔记

TP5 Model层 模型操作——指定数据库/表 && 自动写入时间

创建时间:2017-08-18 投稿人: 浏览次数:1250

Notice :
1. 不要用3.2的思维来考虑5.0
2. 模型命名使用驼峰法,并且在获取实际数据的时候自动小写+下划线命名的数据表名称,对应的规范是:设置的数据库前缀+模型名
3. 如果数据表的命名不符合上面的规范,应当在模型中单独定义数据表。

若当前数据表无前缀(在配置文件中已经设置了表前缀)

namespace appindexmodel;

use thinkModel;

class User extends Model
{
// 设置完整的数据表(全称包含前缀)
protected $table = "think_user";
}

若模型层命名与数据表不对应

namespace appindexmodel;

use thinkModel;

class User extends Model
{
// 设置数据表(不含前缀)
protected $name = "member";
}

若想指定数据库链接

namespace appindexmodel;
use thinkModel;
class User extends Model
{
// 设置单独的数据库连接
protected $connection = [
// 数据库类型
"type" => "mysql",
// 服务器地址
"hostname" => "127.0.0.1",
// 数据库名
"database" => "test",
// 数据库用户名
"username" => "root",
// 数据库密码
"password" => "",
// 数据库连接端口
"hostport" => "",
// 数据库连接参数
"params" => [],
// 数据库编码默认采用utf8
"charset" => "utf8",
// 数据库表前缀
"prefix" => "think_",
// 数据库调试模式
"debug" => true,
];
}

设置时间自动写入

Notice :
以下全局变量:均为为框架自带变量。
$autoWriteTimestamp自动写入时间开关。可以设置为 true/false表示开启或关闭,并默认识别为int型。当其值设置为指定格式的时候将自动开启。也可以在数据库配置文件中"auto_timestamp" => false,修改。
字段名默认创建时间字段为create_time,更新时间字段为update_time,支持的字段类型包括timestamp/datetime/int。写入数据的时候,系统会自动写入create_timeupdate_time字段,而不需要定义修改器。如果你的数据表字段不是默认值的话,可以使用 protected $create_time = "xxx"/protected $update_time = "xxx"自行指定。

<?php
namespace appindexmodel;

use thinkModel;

class User extends Model
{
    //设置自动写入的格式 
    protected $autoWriteTimestamp = "datetime";

    //关闭修改字段默认写入
    protected $updateTime = false;


}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。