【问题标题】:Laravel prevent updated_at from updating for specific query [duplicate]Laravel 阻止 updated_at 更新特定查询 [重复]
【发布时间】:2014-08-23 02:28:05
【问题描述】:

我在桌子上使用标准的updated_atcreated_at

我的结果按updated_at 排序,因为它们可以编辑。

但是,在一个页面上,我正在更新一个行计数器(视图)。这意味着updated_at 将使用新的日期/时间进行更新,但我想防止这种情况发生。

有没有办法做到这一点?还是我必须使用created_at 来订购我的结果?

我宁愿不用自己的手册created_atupdated_at

【问题讨论】:

标签: php mysql laravel


【解决方案1】:

对于单一模型查询:

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

对于多个模型查询使用

DB::table('products')->...->update(...)

而不是

Product::...->update(...)

【讨论】:

  • 您可以使用$product->fill($fields); $product->save(['timestamps' => false]); 并将其封装到实用程序类中(例如\App\Utils\Models\Products::saveProductNoUpdateAt(\App\Models\Product $product, array $fields))。然后你没有DB(没有模型抽象),但仍然有一个地方可以停用updated_at的自动更新。
  • 从数据库中删除“更新当前时间戳”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
  • 1970-01-01
  • 2019-09-06
  • 2020-09-02
  • 2010-11-02
  • 1970-01-01
  • 2012-05-14
相关资源
最近更新 更多