2023thinkphp create方法失败怎么办

 所属分类:php教程

 浏览:191次-  评论: 0次-  更新时间:2022-12-14
描述:更多教程资料进入php教程获得。 thinkphp create方法失败的解决办法:1、写一个测试方法,模拟前端页面用户输入的数据,代码如“ publi...
更多教程资料进入php教程获得。

thinkphp create方法失败的解决办法:1、写一个测试方法,模拟前端页面用户输入的数据,代码如“ public function insert2(){...}”;2、给数据库中的status字段添加默认值为1并保存设置即可。

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境:Windows7系统、THINKPHP5.1版、Dell G3电脑。

thinkphp create方法失败怎么办?

解决THINKPHP5.1模型中create方法写入失败,但是没有错误提示

思路,写一个测试方法,模拟前段页面用户输入的数据,保存为$data,类似下面的代码

  public function insert2()
    {
        $data = [
            'name'=>'chen',
            'password'=>'abc1234',
            'email'=>'chen@qq.com',
            'mobile'=>'18285859696'
        ];
        return UserModel::create($data);
    }
登录后复制

在浏览器中访问一下这个方法,返回如下结果,可以看到,字段status是没有默认值的,而我们也没有给他传递值,所以create方法写入失败了!

bace256082301ab2b8ba30d3d8cb6e2.jpg

数据库中的字段截图,数据库中status字段确实没有默认值,我们给默认值选项打上勾,然后给个1值,保存然后再试试

dcda223fa39c8119222e7612c974ad4.jpg

可以看到已经成功的返回值了

1dc9fafba4598625e9581a978a932ed.jpg

心得:下次遇到不提示错误的情况,就写一个新方法,模拟前端的数据,还有个很重要的方法就是,也要去看runtime下的log,它也会提示相应的错误

[ info ] [ DB ] INIT mysql
[ sql ] [ DB ] CONNECT:[ UseTime:0.001346s ] mysql:host=localhost;dbname=zh;charset=utf8
[ sql ] [ SQL ] SHOW COLUMNS FROM `zh_user` [ RunTime:0.001726s ]
[ error ] [10501]SQLSTATE[HY000]: General error: 1364 Field 'status' doesn't have a default value[D:\Wamp64\www\zh\thinkphp\library\think\db\Connection.php:7
登录后复制

error就是错误,也提示了Field 'status' doesn't have a default value

问题解决!

推荐学习:《thinkPHP视频教程》

以上就是thinkphp create方法失败怎么办的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: thinkphp,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!