Php Laravel对象数据被覆盖?

Php Laravel对象数据被覆盖?,php,mysql,datetime,eloquent,laravel-3,Php,Mysql,Datetime,Eloquent,Laravel 3,我在Laravel3中构建了一个应用程序,我遇到了一个非常奇怪的错误。我有一个带有两个日期时间字段的模型:start\u time和end\u time。我还为该模型启用了时间戳,因此在处也有created\u和updated\u在datetime字段 我有一个控制器操作,用于处理此模型中对象的编辑/更新。运行此操作时,每隔更改end\u time字段时,start\u time字段将被updated\u at字段的分钟和秒数覆盖。我知道这听起来很疯狂,但下面是我在调试时做的一些事情 首先,我不

我在Laravel3中构建了一个应用程序,我遇到了一个非常奇怪的错误。我有一个带有两个日期时间字段的模型:
start\u time
end\u time
。我还为该模型启用了时间戳,因此在处也有
created\u和
updated\u在
datetime字段

我有一个控制器操作,用于处理此模型中对象的编辑/更新。运行此操作时,每隔更改
end\u time
字段时,
start\u time
字段将被
updated\u at
字段的分钟和秒数覆盖。我知道这听起来很疯狂,但下面是我在调试时做的一些事情

首先,我不再使用
fill\u raw($input)
功能,而是开始使用手动分配,以防出现一些奇怪的情况

$object->start_time = $start_time; $object->end_time = $end_time; $object->save(); $object->start\u time=$start\u time; $object->end\u time=$end\u time; $object->save(); 在整个操作过程中,我还添加了
echo
语句,以确保值在任何时候都没有被更改,包括在调用
save()
函数后打印存储在对象中的值的语句。每次值都是预期值。但是,在页面重定向操作结束和页面重新加载之间的某个时间,数据库中的值正在更改

此时,我认为数据库端一定有点奇怪,因为我知道,例如在PHPMyAdmin中,当您手动添加一行时,当设置为
非空
但未填充时,它将自动使用
立即
填充datetime字段。但话说回来,我已经仔细检查了字段是否为空,因为它的值是正确的。我已经走到了死胡同,我真的可以从另一个角度看问题

编辑:

指向相关控制器操作副本的链接。我要再次指出,在整个操作中都有
echo
语句,我使用这些语句来验证输入数据是否正确,并且在整个操作中没有以任何意外的方式进行更改。我遇到的问题只有在操作运行后才会出现。

更新到当前时间的列与具有关于更新当前时间戳的
子句的列一致


发出一个
SHOW CREATE TABLE yourtablename
可以确认它。

更新到当前时间的列与具有
ON UPDATE current\u TIMESTAMP
子句的列一致


发布一个
SHOW CREATE TABLE your tablename
可以确认它。

除非你发布一些代码,否则没有人能够帮助你。如果你理解我写的内容,你就会意识到我提供了理解问题所需的尽可能多的代码。但是为了简洁和合作,我将发布我的代码的精简版本。哦,很明显,我太笨了,无法帮助你。祝您好运。@DavidMyers您应该包括
SHOW CREATE TABLE yourtablename
@rsanschez的结果。我刚刚这么做了,发现了问题。出于某种原因,start_time字段设置了ON UPDATE CURRENT_时间戳选项。提交悬赏的答案。除非你发布一些代码,否则没有人能够帮助你。如果你理解我写的内容,你会意识到我提供了理解问题所需的所有代码。但是为了简洁和合作,我将发布我的代码的精简版本。哦,很明显,我太笨了,无法帮助你。祝您好运。@DavidMyers您应该包括
SHOW CREATE TABLE yourtablename
@rsanschez的结果。我刚刚这么做了,发现了问题。出于某种原因,start_time字段设置了ON UPDATE CURRENT_时间戳选项。提交悬赏的答复。