记一次laravel模型保存数据失败的例子runQueryCallback(‘insert into `tb...‘, Array, Object(Closure))

本文记录了一次在使用laravel时遇到的模型保存数据失败的问题,错误表现为数据库无法插入数据。经过排查,发现是由于数据库表设计时忘记设置自增ID导致。解决方案是为数据库表添加自增ID字段。

今天写代码的时候,好好的代码突然就开始报错,数据库一直保存不成功
报错如下
在这里插入图片描述

{"time":"2021-05-06 20:40:03","content":"操作记录保存失败
#0 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Database/Connection.php(624): Illuminate\\Database\\Connection->runQueryCallback('insert into `tb...', Array, Object(Closure))\n
#1 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Database/Connection.php(459): Illuminate\\Database\\Connection->run('insert into `tb...', Array, Object(Closure))\n
#2 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Database/Connection.php(411): Illuminate\\Database\\Connection->statement('insert into `tb...', Array)\n
#3 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\\Database\\Connection->insert('insert into `tb...', Array)\n
#4 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2558): Illuminate\\Database\\Query\\Processors\\Processor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `tb...', Array, 'id')\n
#5 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1318): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')\n
#6 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(823): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)\n
#7 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(788): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)\n
#8 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(651): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))\n
#9 /data/www/wecomics.api/app/Http/Models/OperationRecord.php(43): Illuminate\\Database\\Eloquent\\Model->save()\n
#10 /data/www/wecomics.api/app/Http/Controllers/Devtool/Controller.php(134): App\\Http\\Models\\OperationRecord::record(Array)\n
#11 /data/www/wecomics.api/app/Http/Controllers/Devtool/Controller.php(66): App\\Http\\Controllers\\Devtool\\Controller->RecordOperation(Array)\n
#12 /data/www/wecomics.api/app/Http/Controllers/Devtool/EuropeanUnionController.php(27): App\\Http\\Controllers\\Devtool\\Controller->output(Array)\n
#13 [internal function]: App\\Http\\Controllers\\Devtool\\EuropeanUnionController->delete(Object(Illuminate\\Http\\Request))\n
#14 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)\n
#15 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('delete', Array)\n
#16 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\Devtool\\EuropeanUnionController), 'delete')\n
#17 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\\Routing\\Route->runController()\n
#18 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(679): Illuminate\\Routing\\Route->run()\n
#19 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#20 /data/www/wecomics.api/app/Http/Middleware/DevToolAuthenticate.php(53): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#21 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): App\\Http\\Middleware\\DevToolAuthenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))\n
#22 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))\n
#23 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#24 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))\n
#25 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(656): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))\n
#26 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(622): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))\n
#27 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(611): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))\n
#28 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))\n
#29 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))\n
#30 /data/www/wecomics.api/app/Http/Middleware/Xhprof.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#31 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): App\\Http\\Middleware\\Xhprof->handle(Object(Illuminate\\Http\\Request), Object(Closure))\n
#32 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))\n
#33 /data/www/wecomics.api/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#34 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))\n
#35 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))\n
#36 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#37 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))\n
#38 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))\n
#39 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#40 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))\n
#41 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))\n
#42 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#43 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))\n
#44 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))\n
#45 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#46 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))\n
#47 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))\n
#48 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))\n
#49 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))\n
#50 /data/www/wecomics.api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))\n
#51 /data/www/wecomics.api/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))\n
#52 {main}","level":400,"level_name":"ERROR","uri":""}

开始的时候以为是代码有错错误,试了很多次也没有修正,网上也没有一样例子,
因为没有太复杂的逻辑,只有一外最基本的数组,逻辑如下
在这里插入图片描述
后来才发现,是数据库在设计的时候忘记勾选自增id了,默认是自增id的,把自增id加下就可以了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值