【问题标题】:laravel update table without changing updated_atlaravel 更新表而不更改 updated_at
【发布时间】:2019-06-11 18:38:55
【问题描述】:

我想弄清楚如何在不更新列 updated_at 的情况下更新控制器中的表

我不想完全停止 updated_at 我正在其他地方使用它,我只想更新一些东西而不是更新某个地方的 updated_at

我试过了

$model->timestamps = false;
$model->save();

它仍然更新 updated_at 列

【问题讨论】:

  • @OlegNurutdinov 正如我所说...这对我不起作用
  • 您是否尝试过链接中的$model->timestamps = false;
  • 你需要做$model->timestamps = false。在您的情况下,您只是定义了一个名为 timestamps 的变量并将其设置为 false。
  • 我更新了我的问题,这是我的错误。我的意思实际上是 $model->timestamps = false;

标签: php laravel laravel-5.5


【解决方案1】:

我认为你需要检查你的数据库结构,看看这是数据库级别的条件还是 Laravel 机制。您可以通过运行以下 MySQL 命令检查数据库架构:

describe {table}

如果您在updated_at 列的结果的额外列中看到任何内容:

on update CURRENT_TIMESTAMP

那么这是一个数据库级别的条件我建议你删除它。并让 Laravel 负责 updated_at 列。

【讨论】:

  • 这正是修复它的原因,谢谢!我认为这是航海者的所作所为?如果您通过 BREAD / Database 添加表,会自动执行此操作吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-19
  • 1970-01-01
  • 2014-08-15
  • 1970-01-01
  • 2016-09-03
  • 1970-01-01
  • 2020-06-23
相关资源
最近更新 更多