[江湖救急]tp6模型主键id为非自增字符串,save保存不成功

浏览:168 发布日期:2022/09/27 分类:ThinkPHP6专区 关键字: thinkPHP6 模型保存数据 主键非自增
忽然发现一个问题,模型主键为非自增的字符串类型(有时候主键不想自增),通过模型的save保存数据不成功(也没有自己开启事务),也不报错(日志打印了insert into语句,数据库里面没有数据),用Db::name('demo')->insert($data)可以正常保存。
controller示例代码如下,数据库为pgsql,环境php8.1:
$demo = new Demo;
$demo->id = Utils::create_uuid();//生成UUID
$demo->title = "标题";
$demo->name = "名称";
$demo->status = 0;
$rs = $demo->save();
Log::debug("save rs:" . $rs);
日志:[2022-09-27T11:16:00+08:00][sql] CONNECT:[ UseTime:0.006843s ] pgsql:dbname=votedb;host=127.0.0.1;port=5432
[2022-09-27T11:16:00+08:00][sql] select fields_name as "field",fields_type as "type",fields_not_null as "null",fields_key_name as "key",fields_default as "default",fields_default as "extra" from table_msg('demo'); [ RunTime:0.013151s ]
[2022-09-27T11:16:00+08:00][sql] INSERT INTO demo (id , title , name , status , create_time , update_time) VALUES ('9aafe29a-2e9a-4607-859e-5db97346cc81' , '标题' , '名称' , 0 , '2022-09-27 11:16:00.703800' , '2022-09-27 11:16:00.703809') [ RunTime:0.000406s ]
[2022-09-27T11:16:00+08:00][debug] save rs:1
难道通过模型保存数据主键必须是自增吗?百思不得其解
最佳答案
评论( 相关
后面还有条评论,点击查看>>