thinkphp6 模型

1.模型初始化

        在app\common\model 下创建一个User.php文件

<?php

namespace app\common\model;
use think\model;

class User extends model
{
    protected $name = 'user';   //指定数据表的名称
}

2.如果想要使用模型 要在头部引入

use app\common\model\User; //引入模型

3.增 不论是增删改查 fand是根据主键进行查找的

//-----------------------------------
$user  = new User;
$user->name     = 'thinkphp';
$user->number    = 12;
$user->save();

//-------------------------------------
$user = new User;
$user->save([
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
]);
//====================================
$user = new User;

// post数组中只有name和email字段会写入

$user->allowField(['name','email'])->save($_POST);
//---------------------------------------

$user = new User;
// 过滤post数组中的非数据表字段数据
$data = Request::only(['name','email']);
$user->save($data);

//----------------------------

$user           = new User;
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
// 获取自增ID
echo $user->id;



ps:->的作用
    是一个对象操作符,用于访问对象的属性和方法。
    这句代码的意思是将'thinkphp'这个值赋给$user对象的name属性

    => 是数组键值对的分隔符号,用于将键和值关联起来创建数组元素。

3.1 批量增加数据

$user = new User;
$list = [
    ['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
    ['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);

4.更新数据

$user = User::find(x);
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
//--------------------------------
//复杂情况的数据更新
$user = User::where('status',1)  //找出status为一并且 name为liuchen的数据
	->where('name','liuchen')
	->find();
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
//--------------------------------
$user = User::find(1);
// post数组中只有name和email字段会写入
$data = Request::only(['name','email']);
$user->save($data);
//-------------------------------
$user = new User;
$list = [
    ['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
    ['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']
];
$user->saveAll($list);
这个相当于是把主键为1和2 的都覆盖掉

//把主键id为x的数据取出来之后覆盖原

5.删

$user = User::find(1);
$user->delete();
//----------------------
//删除多条数据
User::destroy([1,2,3]);

6.查

// 取出主键为1的数据
$user = User::find(1);
echo $user->name;

// 使用查询构造器查询满足条件的数据
$user = User::where('name', 'thinkphp')->find();
echo $user->name;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ThinkPHP6 的模型运行机制主要是基于 ORM(对象关系映射)思想实现的,它将数据库中的数据表映射为一个个的模型类,通过模型类的方法来操作数据库中的数据,避免了直接操作数据库的复杂性,提高了代码的可维护性和可读性。 具体来说,ThinkPHP6 的模型运行机制包括以下几个方面: 1. 数据库连接:在模型类中,通过继承 \think\Model 类来实现数据库连接,可以在模型类中通过 $this->db() 方法来获取当前模型对应的数据库连接实例。 2. 数据表映射:在模型类中,通过定义 $table 属性来指定当前模型对应的数据表名称,也可以通过 $pk 属性来指定当前模型对应的数据表主键字段名称。 3. 查询构建器:在模型类中,通过 $this->db() 方法返回的数据表查询构建器对象来实现对数据表的各种操作,如查询、更新、删除等。 4. 数据关联:在模型类中,可以通过定义关联方法来实现不同数据表之间的关联,如一对一关联、一对多关联、多对多关联等。 5. 事件机制:在模型类中,可以通过定义事件方法来实现对模型操作的监听,如 beforeInsert、afterInsert、beforeUpdate、afterUpdate、beforeDelete、afterDelete 等事件。 总之,ThinkPHP6 的模型运行机制非常灵活,可以通过模型类来实现对数据表的各种操作,并且支持数据关联和事件机制,方便开发者进行快速开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋进的大马猴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值