gpt4 book ai didi

laravel - created_at 和 updated_at 不会在 laravel 中插入时自动更新

转载 作者:行者123 更新时间:2023-12-05 09:03:14 27 4
gpt4 key购买 nike

我使用 laravel 8:

public function up()
{
Schema::create('user', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->integer('created_by')->nullable();
$table->string('created_by_user')->nullable();
$table->timestamps();
});
}

模型:

<?php

namespace App\Models\Backend\MySQL;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
protected $table = 'user';
}

在 Controller 中:

use App\Models\User;

public function store(Request $request) {
$data = [
'name' => !empty($request->name) ? $request->name : 'Jony',
'created_by' => auth()->user()->id,
'created_by_user' => auth()->user()->name,
];
User::insert($data);
}

我已经成功插入了。但问题是我的 created_by 和 updated_by 列没有自动更新。有什么办法可以解决这个问题。在 user 模型中,我也没有设置 protected $timestamps = false 但它不起作用。谢谢。

最佳答案

insert 方法不适用于 eloquent 模型,并且不会更新 created_at 和 updated_at。你应该改用 create 方法。

create 方法自动设置 created_at 和 updated_at

在这里查看这个答案

https://stackoverflow.com/a/58075757/7689224

关于laravel - created_at 和 updated_at 不会在 laravel 中插入时自动更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70165909/

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