Get a problem with update using query builder on laravel 5. I've tried to disabled the updated_at but keep failing.

Here is my code:

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

I've tried 2 ways: first one at my model i set:

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]);

他们都失败了.是否仍然需要禁用更新的_?

Thanks in advance

推荐答案

默认情况下,eloquent将自动维护数据库表上的CREATED_AT和UPDATED_AT列.只需将这些时间戳列添加到您的表中,Eliqent就会处理好睡觉.

我真的不建议移除它们.但是如果你想用下面的方法.

将以下内容添加到您的model:

public $timestamps = false;

This will disable the timestamps.

EDIT: it looks like you want to keep the created_at field, you can override the getUpdatedAtColumn in your model.

Use the following code:

public function getUpdatedAtColumn() {
    return null;
}

Laravel相关问答推荐

Laravel带S3存储器

为什么只删除了最后一个Like,而没有删除选中的?

Laravel 联合和分页

前端和管理员分开时未加载laravel 9中间件

Laravel查询多对多关系

Laravel 6 Passport 在错误的凭证上返回 400 Bad request

Laravel 5.3 - 将多个文件附加到 Mailables

如何使用 laravel eloquent 获得select count(*) group by

Laravel Eloquent Pluck 不丢失密钥

如何更改 ember-cli 中的 dist 文件夹路径?

Database[] 未配置 Laravel 5

使用 laravel eloquent 关系检索除 NULL 之外的所有记录

在 Laravel 容器中覆盖单例

PHP Laravel:如何获取客户端浏览器/设备?

laravel:Eloquent的例子将数据插入数据库

在 Laravel 5 控制器中找不到类App\Http\Controllers\DB

如何从 Laravel 中的资源中获取图像?

Lumen/Laravel 6:调用未定义的函数 array_except()

判断行是否存在,Laravel

如何在不要求用户登录 Laravel 的情况下验证Electron邮件