搜索
系统检测到您的用户名不符合规范:

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

浏览:747 发布日期: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月27日T11:16:00+08:00][sql] CONNECT:[ UseTime:0.006843s ] pgsql:dbname=votedb;host=127.0.0.1;port=5432
[2022年09月27日T11: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月27日T11: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月27日T11:16:00+08:00][debug] save rs:1
难道通过模型保存数据主键必须是自增吗?百思不得其解
最佳答案
收藏
hadoopcy
积分:65 等级:LV0
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /