-
推荐使用的方法
查看全部 -
修改器进行复杂加密
查看全部 -
模型修改器 set字段名Attr
查看全部 -
获取器的设置
查看全部 -
格式固定 get字段名Attr 获取器的设置
查看全部 -
$res = Db:table('imooc_user')
-> where('id', '>', 10)
-> field('username, id')
-> order('id DESC')
// -> LIMIT(3, 5)
// -> page()
-> group() //order不生效
-> select();
dump($req);
查看全部 -
$db = Db::name('user');
$data = [];
$db->insert($data);
$db->insertGetId($data);
$Db->insertGetId($data);
查看全部 -
数据库查询的四个方法
查看全部 -
protected $auto = [ "time" // 字段名 ]; protected $insert = [ "time_insert"// 字段名 ]; protected $update = [ "time_update" ]; protected $AutoW设置自动更新时间 protected $update_time = "字段名"; protected $instpert_time = "字段名"; // 获取设置值 public function get字段名Attr ($val) { return //根据不同条件返回不同的值 } // 新增设置值 public function set字段名Attr ($val) { return }查看全部
-
模型时间戳:参考笔记https://www.imooc.com/notepad/20147e
软删除:参考笔记https://www.imooc.com/notepad/2014a3查看全部 -
软删除:
首先在模型里面引用SoftDelete
<?php
namespace app\index\model;
use think\Model;
use traits\model\SoftDelete;
class User extends Model{
use SoftDelete;
#删除数据的时候删除时间戳默认写入字段delete_time中,当要自定义时:
// protected $deleteTime = '自定义删除时间字段名';
}
然后在控制器里面执行操作:
public function index(){
// $res = User::destroy(4);//被软删除
// $res = User::get(4);//返回NULL
#查询包含已删除的数据
//$res = User::withTrashed(true)->find(2);
#查询仅包含已删除的数据
$res = User::onlyTrashed()->select();
foreach ($res as $val){
dump($val);
}
#若要恢复被软删除的数据,直接用update方式将delete_time的值设置为NULL即可
#当开启软删除后要想真正彻底删除数据,在destroy的第二个参数后面传入一个true值
$res = User::destroy(1,true);
#通过get方式进行软删除/删除
$res = User::get(3);//如果此处数据已经被软删除则获取到的为NULL,后面的操作无效
$user->delete();//软删除
$res = $user->delete(true);//删除
}
查看全部 -
thinkphp 提供的自动时间戳 自动记录时间比使用自动完成功能好,减少代码量;
1.修改database.php配置文件中设置'auto_timestamp' 为true (不推荐的方法,此法数据库中所有表要有create_time和update_time这2个字段。)
2.(推荐)在模型的类里添加属性:只对个别数据表字段create_time、update_time自动完成时间戳赋值,可以按如下操作:
protected $autoWriteTimestamp = true;
//在模型中对约定的create_time、update_time自动完成时间戳赋值,如果不用默认的create_time名称,这样设置
protected $createTime = 'create_at';
protected $updateTime = 'update_at';
// 禁用某个时间戳,可以这样设置
//protected $createTime = false; //表示这个创建自动记录时间戳禁用
查看全部 -
图2
auto (新增及更新的时候自动完成的属性数组)
insert(仅新增的时候自动完成的属性数组)
update(仅更新的时候自动完成的属性数组)
查看全部 -
auto (新增及更新的时候自动完成的属性数组)
insert(仅新增的时候自动完成的属性数组)
update(仅更新的时候自动完成的属性数组)
命名规范是 -> set + 属性名的驼峰命名 + Attr
格式: protected $insert = [
'insert'//字段名
];
public function setInsertAttr(){
return time();
}
查看全部 -
#获取器 get+字段名+Attr
命名规范是 -> get + 属性名的驼峰命名 + Attr#修改器 set+字段名+Attr 命名规范是 -> set + 属性名的驼峰命名 + Attr
查看全部
举报