【问题标题】:Laravel saving without updating timestampLaravel 保存而不更新时间戳
【发布时间】:2021-11-23 07:43:11
【问题描述】:

我知道在堆栈溢出上已经发布了很多相同的问题,但是我想澄清的是为什么方法 1 对我不起作用,但方法 2 对我起作用。

我正在尝试更新现有条目而不影响时间戳

方法一

$manual_ticket->status = "Queued";
$manual_ticket->initiator_id = null;
$manual_ticket->save(['timestamps' => false]);

方法二

$manual_ticket->status = "Queued";
$manual_ticket->initiator_id = null;
$manual_ticket->timestamps = false;
$manual_ticket->save();

Laravel 版本 = 5.5

【问题讨论】:

  • 从 laravel 5.3 开始,您在第一种方法中使用的时间戳选项被删除。所以你的第一种方法不起作用。

标签: php laravel eloquent


【解决方案1】:

当您从模型中调用 save 方法时。我将调用finishSave 方法。但是 finishSave 方法将只接受 touch 作为数组键,并且不会尊重您传递的任何其他数组键。您可以使用saveQuietly 方法保存模型而不引发任何模型事件

【讨论】:

    猜你喜欢
    • 2013-09-25
    • 2018-12-27
    • 2011-02-20
    • 2014-05-21
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多