Php Laravel在模型保存时插入两次差异
我正在创建一个Laravel项目,但我有一个问题 在保存模型之前,我试图将两个时间戳之间的差异保存到数据库中: 我的桌子:Php Laravel在模型保存时插入两次差异,php,mysql,database,laravel,laravel-5,Php,Mysql,Database,Laravel,Laravel 5,我正在创建一个Laravel项目,但我有一个问题 在保存模型之前,我试图将两个时间戳之间的差异保存到数据库中: 我的桌子: $table->increments('id'); $table->time('from'); $table->time('to'); $table->time('diff'); 所以。。插入前,计算这两次之间的差值,并同时插入 这可能吗?有人能帮我吗 谢谢,要计算到和从之间的差异(以秒为单位): $row = Tabl
$table->increments('id');
$table->time('from');
$table->time('to');
$table->time('diff');
所以。。插入前,计算这两次之间的差值,并同时插入
这可能吗?有人能帮我吗
谢谢,要计算到和从之间的差异(以秒为单位):
$row = TableModel::find(123);
$diff = strtotime($row->to) - strtotime($row->from);
$row->diff = $diff;
$row->save();
要计算到和从之间的差值(以秒为单位):
$row = TableModel::find(123);
$diff = strtotime($row->to) - strtotime($row->from);
$row->diff = $diff;
$row->save();
您可以挂接到saving()或update()或creating()中
因此,在您的模型中,根据您想要钩住的对象(如果我理解正确,我认为是saving())添加上面的一项,并实现如下内容:
public static function boot()
{
parent::boot();
static::saving(
function ($table) {
$table->diff = strtotime($table->to) - strtotime($table->from);
}
);
}
您可以挂接到saving()或update()或creating()中
因此,在您的模型中,根据您想要钩住的对象(如果我理解正确,我认为是saving())添加上面的一项,并实现如下内容:
public static function boot()
{
parent::boot();
static::saving(
function ($table) {
$table->diff = strtotime($table->to) - strtotime($table->from);
}
);
}
你的意思是天、年、秒的不同吗?小时、分钟的不同吗?你的意思是天、年、秒的不同吗?小时、分钟的不同好了,但是我怎么能每次在保存模型之前都这样做呢?好了,但是我怎么能每次在保存模型之前都这样做呢?谢谢!,为了保存正确的差异,我做了:$table->diff=gmdate('H:I:s',(strotime($table->to)-strotime($table->from));谢谢你!,为了保存正确的差异,我做了:$table->diff=gmdate('H:I:s',(strotime($table->to)-strotime($table->from));