Laravel 9 -将默认模型属性设置为auth用户ID

gstyhher  于 2022-11-26  发布在  其他
关注(0)|答案(1)|浏览(162)

我想把当前用户的id默认传递到一个列中。我尝试在迁移中提供它,但没有成功。当我传递一个整数时,这段代码可以工作,但当我尝试将其设置为Auth::id()时,它会给出错误
我尝试过的代码(在模型文件中)

protected $attributes = [
        'employee_id' => Auth::id(),
    ];

我收到的错误:

Constant expression contains invalid operations

当我给予它一个硬编码的字符串或整数值时,它确实可以工作,但是我需要给它当前用户的id。

41zrol4v

41zrol4v1#

不确定这是否真的是个好主意,但您可以将其添加到您的模型中

protected static function booted()
    {
        static::creating(function ($model) {
            $model->employee_id = Auth::id();
        });
    }

检查文档中的完整事件列表。
https://laravel.com/docs/9.x/eloquent#events-using-closures

相关问题