解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019-10-17 07:04
2795 查看
据官方文档的说明,使用Eloquent ORM,插数据库的时候可以自动生成created_at,updated_at,代码如下:
Model里的代码:
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Notice extends Model { protected $guarded = []; //获取部门名称 public function fromDep(){ return $this->belongsTo('App\Models\Department','from','id'); } public function toDep(){ return $this->belongsTo('App\Models\Department','to','id'); } public function toUser(){ return $this->belongsTo('App\User','create_user','id'); } }
新增的代码
public function store(Request $request) { $data = $request->only(['title','sort','level','from','content','document']); $data['creater'] = Auth::user()->id; if(Notice::insert($data)){ return ResponseLayout::apply(true); }else{ return ResponseLayout::apply(false); } }
插入一条数据,数据库中created_at和updated_at字段为0000-00-00 00:00:00。
原因分析:原生的插入语句,Laravel是不会自动帮你插入created_at和updated_at字段的。
解决方法
create
public function store(Request $request) { $data = $request->only(['title','sort','level','from','content','document']); $data['creater'] = Auth::user()->id; if(Notice::create($data)){ return ResponseLayout::apply(true); }else{ return ResponseLayout::apply(false); } }
save
public function store(Request $request) { $data = $request->only(['title','sort','level','from','content','document']); $data['creater'] = Auth::user()->id; $notice = new Notice($data); if($notice->save()){ return ResponseLayout::apply(true); }else{ return ResponseLayout::apply(false); } }
以上这篇解决Laravel 使用insert插入数据,字段created_at为0000的问题就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- Laravel 使用insert插入数据,字段created_at为0000?
- mysql中insert与select的嵌套使用解决组合字段插入问题
- hive load data使用总结,很好解决了insert插入中文数据后乱码问题
- 关于含有标识字段的数据表中记录的插入问题解决(IDENTITY_INSERT)
- mysql中insert与select的嵌套使用解决组合字段插入问题
- insert中加入where条件判断,解决插入重复数据的问题
- insert中加入where条件判断,解决插入重复数据的问题
- Android笔记--解决使用php文件插入数据到mysql数据库的表中中文变问号的问题
- 关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决
- Mysql的longblob字段插入数据问题解决
- 解决在mybatis中使用CTE进行oracle查询数据类型为long的字段出现流关闭问题
- mysql:insert插入数据过慢如何解决,设置innodb_flush_log_at_trx_commit为0就能解决
- 【laravel54】如果开启了自带的时间戳(Y-h-m H:s:m),getInsertId一定要手动加上created_at 和 updated_at字段填充
- hibernate在Oracle中插入数据,默认字段被设置为null的问题解决
- 完美解决ListView中事件ItemCreated中使用ClientID导致插入数据失败
- Mysql的longblob字段插入数据问题解决
- 【已解决】oracle数据中,插入clob类型字段遇到的问题
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- ThinkPHP问题收集:模板中使用U方法时无法嵌套大括号,For标签,插入数据,新增的表字段缓存问题
- mybatis在使用insert into 批量插入数据的问题