【发布时间】:2016-04-12 22:33:46
【问题描述】:
我在这个主题上找到了this answer,但它对我不起作用。
所以,我在数据库中创建一个条目:
// Write lead to database
$lead = Lead::create($lead_data);
而且时间戳看起来像这样,这很好:
| 2016-01-08 10:34:15 | 2016-01-08 10:34:15 |
但随后我向外部服务器发出请求,我需要更新该行:
$lead->user_id = $response['user_id'];
$lead->broker_id = $response['broker_id'];
$lead->save();
created_at 字段发生变化:
| 2016-01-08 04:34:17 | 2016-01-08 10:34:17 |
我该如何解决这个问题?
编辑
我需要一个解决方案,它可以只修改行为而不删除列或重置迁移。必须在不接触数据的情况下在实时数据库上执行修复。如下所示,我尝试了以下迁移:
$table->datetime('created_at')->default(DB::raw('CURRENT_TIMESTAMP'))->change();
但什么也没发生。 created_at 字段在更新时仍会被修改。
【问题讨论】:
-
在更新之前如何加载 $lead 变量?
-
$lead变量被create方法填充,但无论如何,我在写入后也用$lead = Lead::find($lead->id);尝试过,问题仍然存在。
标签: php laravel laravel-5 eloquent laravel-5.2