TP学习记录

学习目标:

提示:这里可以添加学习目标

例如:

  • 一个月掌握阅读完 手册的全部内容( 非初学者,查漏补缺,认识为了解的东西)
  • 这自己的约束能力和自控能力有些不足,要坚持

不常见或者没有用过的:

提示:开发中没用过的,或者没有在项目中见过使用的

数据库相关

查询

两个字段的相同的条件查询,可以简化成,如下所示:

 ->where('name|title','like','thinkphp%')

子查询也可以做联表
表名也可以是一个子查询

$subsql = Db::table('think_work')
->where('status',1)
->field('artist_id,count(id) count')
->group('artist_id')
->buildSql();

Db::table('think_user')
->alias('a')
->join([$subsql=> 'w'], 'a.artist_id = w.artist_id')
->select();

原生查询

参数绑定

支持在原生查询的时候使用参数绑定,包括问号占位符或者命名占位符,例如:

Db::query("select * from think_user where id=? AND status=?",[8,1]);
// 命名绑定
Db::execute("update think_user set name=:name where status=:status",['name'=>'thinkphp','status'=>1]);

JSON字段 tp6才有的

如果你的user表有一个info字段是 JSON 类型的(或者说你存储的是 JSON 格式,但并非是要 JSON 字段类型),你可以使用下面的方式操作数据。
JSON数据写入
$user['name'] = 'thinkphp';
$user['info'] = [
	'email'    => 'thinkphp@qq.com',
	'nickname' => '流年',
];
Db::name('user')
	->json(['info'])
	->insert($user);
JSON数据查询
$user = Db::name('user')
	->json(['info'])
    ->where('info->nickname','ThinkPHP')
	->find();
dump($user);

Db::table('think_user')
->where('info$.email','thinkphp@qq.com')
->find();
JSON数据更新
$data['info'] = [
	'email'    => 'kancloud@qq.com',
	'nickname' => 'kancloud',
];
Db::name('user')
	->json(['info'])
    ->where('id',1)
	->update($data);

$data['info->nickname'] = 'ThinkPHP';
Db::name('user')
	->json(['info'])
    ->where('id',1)
	->update($data);

事务

可以支持MySQL的XA事务用于实现全局(分布式)事务,你可以使用:
Db::transactionXa(function () {
    Db::connect('db1')->table('think_user')->delete(1);
    Db::connect('db2')->table('think_user')->delete(1);
}, [Db::connect('db1'),Db::connect('db2')]);

学习时间:

提示:这里可以添加计划学习的时间

例如:

  • 周一至周五晚上 10 点—晚上11点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

学习产出:

提示:这里统计学习计划的总量

例如:

  • 技术笔记 2 遍
  • 查看用tp搭建的项目,了解其中的使用情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值