添加到上述答案。你可以做这样的事情。
在 app/models 中创建一个名为 BaseModel.php 的类,扩展 \Eloquent
class BaseModel extends \Eloquent{
public static function boot()
{
parent::boot();
static::creating(function($model)
{
//change to Auth::user() if you are using the default auth provider
$user = Confide::user();
$model->created_by = $user->id;
$model->updated_by = $user->id;
});
static::updating(function($model)
{
//change to Auth::user() if you are using the default auth provider
$user = Confide::user();
$model->updated_by = $user->id;
});
}
}
然后在您的个人模型类中,您需要扩展 BaseModel 而不是 \Eloquent
class Product extends BaseModel {
protected $table = 'product';
//Booting the base model to add created_by and updated_by to all tables
public static function boot()
{
parent::boot();
}
}
现在,每当您保存或更新模型时,created_by 和 updated_by 字段都会自动更新。
注意:这仅在通过 Eloquent 完成保存或更新时才有效。对于查询构建器,您可以使用通用方法来获取和附加 created_by 和 update_by 列更新。