解决laravel框架中Eloquent ORM的save方法无法插入数据的问题

本文介绍如何使用 Laravel 的 Eloquent ORM 进行数据插入操作,并解决使用 save 方法时遇到的错误。通过设置 $timestamps 属性为 false 和自定义时间戳格式,成功避免了因默认维护 created_at 和 updated_at 字段而引发的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习laravel中:

今天在测试使用Eloquent ORM将数据使用 save()方法插入到mysql中时,出现了错误,如图所示:

在网上查阅资料后找到了原因:

使用save方法新增数据:

laravel会默认维护 created_at , updated_at 两个字段,这两个字段都是存储时间戳,整型11位的,因此使用时需要在数据库添加这两个字段。如果不需要这个功能,只需要在模型里加一个属性:public $timestamps=false; 以及一个方法,可以将当前时间戳存到数据库

protected function getDateFormat(){  
    return time();  
}  

这样就不需要那两个字段了。

修改后错误消失,正常输出:

控制器中函数代码如下:

    	//使用表模型新增数据
	public function orm2(){
		$stu = new Student();  //表的模型实例化
		$stu->name='小黑';      //给模型的属性赋值
		$stu->password='222333';
		$flag = $stu->save();   //save方法插入数据,返回插入是否成功的boolean值
		var_dump($flag);        //打印$flag的内容
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值