ThinkPHP6学习随笔
1、数据库在保存时,会因为数据表不存在或者数据类型原因导致系统报错,从而保存失败,
$data =['title'=>'title1','aaa'=>'writer1'];
$res = Db::name('article')->insert($data);
如果aaa字段不存在,就会报错,用到->strict(false)
$res = Db::name('article')->strict(false)->insert($data);
这样即可过滤tp错误,成功执行
2、插入成功后,生成ID,用insertGetId($data)可以获得
$data =['title'=>'title1','title'=>'writer1'];
$res = Db::name('article')->strict(false)->insertGetId($data);
返回新插入的ID
3、游标查询,->select()方式查询内存消耗大,可以考虑使用->cursor();
foreach循环300条数据,就可以么明显发现内存开销变大了
4、如果->save(['name' = 'name1234'])没有传入主键id,就会插入一条新数据
如果->save(['id'=1,'name' = 'name1234'])传入了id就更新数据,
使用->where('name','name1234')->save(['name' = 'name1234'])也是更新,而不是插入