gpt4 book ai didi

php - Laravel - 更新时禁用更新时间

转载 作者:IT王子 更新时间:2023-10-28 23:58:38 28 4
gpt4 key购买 nike

在 laravel 5 上使用查询生成器进行更新时遇到问题。我尝试禁用 updated_at 但一直失败。

这是我的代码:

    $query = StockLog::where('stock_id', $id)->whereBetween('created_at', $from, $to])->update(['batch_id' => $max + 1]);

我试过两种方法:我设置的模型中的第一个:

public function setUpdatedAtAttribute($value)
{
/*do nothing*/
}

第二个:

$stocklog = new StockLog;
$stocklog->timestamps = false;

$query = $stocklog::where('stock_id', $id)->whereBetween('created_at', [$from, $to])->update([
'batch_id' => $max + 1]);

两者都失败了。无论如何禁用updated_at?

提前致谢

最佳答案

By default, Eloquent will maintain the created_at and updated_at columns on your database table automatically. Simply add these timestamp columns to your table and Eloquent will take care of the rest.

我真的不建议删除它们。但是如果你想使用下面的方式。

将以下内容添加到您的模型:

public $timestamps = false;

这将禁用时间戳。

编辑:看起来您想保留 created_at 字段,您可以覆盖模型中的 getUpdatedAtColumn

使用以下代码:

public function getUpdatedAtColumn() {
return null;
}

关于php - Laravel - 更新时禁用更新时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30319859/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com