我想在 Laravel 模型中分配一个默认值,但该值应该来自配置文件。
我正在写下面的代码,但它给了我错误
protected $attributes = [
'is_generation' => true,
'price' => config('test.MY_PRICE'),
];
它向我展示了一个错误,如常量表达式包含无效操作
如何从配置文件中获取值并在 Laravel 模型文件的 $attribute 变量中设置?
您可以使用saving
模型事件通过将此代码添加到您的Eloquent Model
:
protected static function boot()
{
// sets default values on saving
static::saving(function ($model) {
$model->price = $model->price ?? config('test.MY_PRICE');
});
parent::boot();
}
有了这个代码后,如果字段price
是null
,它会被分配一个值从配置密钥仅仅片刻之前 saving
的Model
数据库。
顺便说一句,您可以更改检查,例如它是空字符串还是小于数字等等,这只是一个示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句