我使用 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();
});
}
Run Code Online (Sandbox Code Playgroud)
楷模:
<?php
namespace App\Models\Backend\MySQL;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $table = 'user';
}
Run Code Online (Sandbox Code Playgroud)
在控制器中:
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);
}
Run Code Online (Sandbox Code Playgroud)
我已经插入成功了。但问题是我的created_by 和updated_by 列没有自动更新。有什么办法可以解决这个问题吗?在user模型中我也没有设置protected $timestamps = false,但它不起作用。谢谢。
insert 方法不适用于雄辩模型,并且不会更新created_at 和updated_at。你应该使用 create 方法代替。
create方法自动设置created_at和updated_at
在这里看到这个答案
| 归档时间: |
|
| 查看次数: |
8491 次 |
| 最近记录: |