我正在创建一个Laravel项目,但我有一个问题。
在保存模型之前,我正试图将两个时间戳之间的差异保存到数据库中:
我的表:
$table->increments('id');
$table->time('from');
$table->time('to');
$table->time('diff');
所以......在插入之前,计算这两次之间的差异并同时插入它。
这可能,任何人都可以帮助我吗?
三江源,
答案 0 :(得分:2)
您可以挂钩到save()或更新()或创建()
所以在你的模型中添加上面的一个取决于你想要挂钩的那个(我认为如果我理解正确的话可以保存())并实现如下:
public static function boot()
{
parent::boot();
static::saving(
function ($table) {
$table->diff = strtotime($table->to) - strtotime($table->from);
}
);
}
答案 1 :(得分:0)
以秒为单位计算与之间的差异:
$row = TableModel::find(123);
$diff = strtotime($row->to) - strtotime($row->from);
$row->diff = $diff;
$row->save();