mysql中的timestamps字段不起作用
还有我用Laravel的migrate生成的数据表也一样,生成的表里面那个timestamps字段根本不起效果。是怎么回事?
这是migration文件
increments('id');
$table->smallInteger('equip_id')->unsigned()->comment('装备id');
$table->string('eqiup_name')->comment('装备名称');
$table->string('eqiup_desc')->comment('装备描述');
$table->timestamps();
$table->primary('equip_id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
回复内容:
为什么我设置了某个字段类型为timestamps,但是他并没有像我预期的一样在更新或者添加的时候自动填充当前时间戳?
还有我用Laravel的migrate生成的数据表也一样,生成的表里面那个timestamps字段根本不起效果。是怎么回事?
这是migration文件
increments('id');
$table->smallInteger('equip_id')->unsigned()->comment('装备id');
$table->string('eqiup_name')->comment('装备名称');
$table->string('eqiup_desc')->comment('装备描述');
$table->timestamps();
$table->primary('equip_id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
你设置timestamp 字段 ON UPDATE CURRENT_TIMESTAMP
了吗
laravel设置下默认值
$table->timestamp('updated_at')->default(\DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
谢邀。
默认 Eloquent 会自动维护数据库表的 created_at
和 updated_at 字段。只要把这两个「时间戳」字段加到数据库表, Eloquent 就会处理剩下的工作。如果不想让 Eloquent 自动维护这些字段,把下面的属性加到模型类里:
// 关闭自动更新时间戳
class User extends Eloquent {
protected $table = 'users';
public $timestamps = false;
}
你根本就没用Model来做数据库的操作,和timestamps是否是CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
的设置无关
Laravel 是 5.1+
Laravel是建议表名是复数的,你的表名应该为
equips
Laravel要求主键,并且名字建议为id,你的主键换名字了
要new 一个Model文件
app/Equip.php
这个类会自动指向equips
表
use Illuminate\Database\Eloquent;
class Equip extends Model
{
//这3行是管理主键的
protected $primaryKey = 'equip_id';
public $incrementing = true; //主键是自增的
protected $keyType = 'int'; //主键类型
//如果要强制指定table名,取消注释下行,不然laravel会自动找equips表
//protected $table = 'equip';
}
操作
$e = Equip::create([
'eqiup_name' => 'wwww',
'eqiup_desc' => 'xxxx',
]);
$e->update([
'eqiup_name' => 'yyyy',
]);
你如果是这么弄的,Laravel仍然没有自动维护created_at
updated_at
我把头给你当凳子坐,毕竟我用Laravel都2年多了,不关闭timestamps,是不可能出现你的情况的
上一篇: python描述符有什么作用
推荐阅读
-
完美转换MySQL的字符集 解决查看utf8源文件中的乱码问题
-
MySQL数据库中删除重复记录的方法总结[推荐]
-
mysql中取系统当前时间,当前日期方便查询判定的代码
-
mysql 查询数据库中的存储过程与函数的语句
-
Mysql启动中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的问题
-
mysql筛选GROUP BY多个字段组合时的用法分享
-
mysql中数据库与数据表编码格式的查看、创建及修改
-
mysql存储过程中的异常处理解析
-
mySQL中LEN()与DATALENGTH()的区别
-
phpmyadmin中为站点设置mysql权限的图文方法