我想在Laravel模型中分配一个默认值,但该值应该来自配置文件。
我写下面的代码,但它给我的错误
protected $attributes = [
'is_generation' => true,
'price' => config('test.MY_PRICE'),
];
它向我显示了一个错误,比如常量表达式包含无效操作
如何从配置文件中获取值并在Laravel模型文件中设置$attribute变量?
您可以使用属性突变器,如下所述:https://laravel.com/docs/5.8/eloquent-mutators#defining-a-mutator
Class Example{
public function setPriceAttribute(){
return $this->attributes['price'] = config('test.MY_PRICE');
}
}
类成员变量称为“属性”。您也可能会看到它们使用其他术语,如“属性”或“字段”,但在本参考中,我们将使用“属性”。它们是通过使用关键字public、protected或private中的一个来定义的,后跟一个普通变量声明。该声明可能包含一个初始化,但该初始化必须是一个常量值——也就是说,它必须能够在编译时进行计算,并且必须不依赖于运行时信息才能进行计算。
实现这一目标的唯一方法是:-
<?php
namespace App;
class Amazon
{
protected $serviceURL;
public function __construct()
{
$this->serviceURL = config('api.amazon.service_url');
}
}
通过将此代码添加到您的雄辩模型中,您可以使用
保存
模型事件:
php prettyprint-override">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
,则在保存
数据库中的
模型之前,它将从配置键分配一个值。
顺便说一句,你可以改变检查,如果它是一个空字符串或更少,然后一个数字等等,这只是一个例子。
问题内容: 在docker-compose.yml中: 我如何在yml配置文件中获取此变量: 在$ _SERVER中,它们的获取方式如下: 问题答案: 在symfony中,可以将PHP文件包含在yaml配置中,在其中可以在运行时设置参数,以覆盖parameters.yml中的静态参数值。 在您的app / config / config.yml中 然后使用以下内容创建文件app / config
我在Laravel做项目。我有名为'User.php'的模型,在这里我想设置$追加变量取决于条件。在数据库中,我以键属性格式存储值。 > 其他名为“user_attributes_master”的表,其中包含“头像”、“主题”等列。 和其他名为user_attribute_values的表,其中包含id、user_id和att_id等列(user_attributes_master表的主键) us
我使用中的此选项在服务器中运行: 我得到这个错误: 分析INI配置文件时出错:未知的选项安全性。
不管配置文件名如何,是否有任何方法可以将当前加载的配置传递给PropertySource?从cloud config成功获取配置后收到的日志,用于应用程序:web-server profile:LOCAL
在程序入口文件index.js 中可以在init方法中获取server对象,通过该server可以获取config,具体方式如下: init(server, options) { const config = server.config(); const url = config.get('elasticsearch.url'); } 自定义配置 1.配置校验与默
我如何将一组键/值对从文本文件导出到shell环境中? 以下是问题的原始版本,并举例说明,以资记录。 我正在bash中编写一个脚本,它解析某个文件夹中包含3个变量的文件,这是其中之一: 然后,我的脚本minientrega.sh使用以下代码解析文件: 但是当我在命令行中执行时,它不会设置环境变量 我还尝试使用,但同样的问题仍然存在