php - 使用 Laravel 更新 : created_at is updated when updating record

标签 php mysql laravel

更新功能使用以下代码运行良好。我在哪里更新status字段为 0 。该字段的默认值为 1 。它工作正常,但是 created_at每当使用此功能时,字段也会更新。应该是updated_at正在更新的字段不是 created_at .

在我的notification_records我有表created_atupdated_at字段。

哪里created_at数据类型为timestamp()如果有新创建的通知记录并且updated_at,则使用此字段字段仅供修改

public function notification(Request $request){
$company_id = auth()->user()->company_id;
DB::connection('mysql')->select("UPDATE notification_records SET status = '0' WHERE company_id = '".$company_id."' AND id = '".$request->ind."'");
}

我想做的是,每当使用该函数时,唯一的字段将更新 created_at 之间的字段值。和updated_atupdated_at仅有的。有没有可能用上面的代码来做到这一点?

最佳答案

这是 laravel 5.2 中的问题 您可以通过删除并读取时间戳来缓解这种情况,如下所示: 而不是 $table->timestamps();

$table->timestamp('created_at')->default('0000-00-00 00:00');
$table->timestamp('updated_at')->default('0000-00-00 00:00');

请参阅此处的问题:Laravel changes created_at on update

解决方案引用这里

https://github.com/spatie/laravel-medialibrary/issues/150

关于php - 使用 Laravel 更新 : created_at is updated when updating record,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56335577/

相关文章:

php - Laravel - 文件需要验证反之亦然

数据库中的 Php 更新复选框状态

mysql - 如何用 MySQL 实现物化 View ?

javascript - 如何使用 ajax 在 laravel 5 中发布表单?

mysql - 什么查询最快?

PHP MYSQL QUERY 未插入

laravel - 在 laravel 5.5 中调用未定义的函数 App\Http\Controllers\bcmul()

php - Symfony3授权流程

java - 在 Java 中从 PHP readfile() 下载一个 zip 文件

javascript - 具有更多图像的 Jquery 1 id 并更改所有图像宽度/高度/位置