当前位置: 首页 > 知识库问答 >
问题:

如何从配置文件中获取值并在laravel模型文件中设置$attribute变量?

东方权
2023-03-14

我想在Laravel模型中分配一个默认值,但该值应该来自配置文件

我写下面的代码,但它给我的错误

    protected $attributes = [
        'is_generation'    => true,
        'price'       => config('test.MY_PRICE'),
    ];

它向我显示了一个错误,比如常量表达式包含无效操作

如何从配置文件中获取值并在Laravel模型文件中设置$attribute变量?

共有3个答案

孙言
2023-03-14

您可以使用属性突变器,如下所述:https://laravel.com/docs/5.8/eloquent-mutators#defining-a-mutator

Class Example{

 public function setPriceAttribute(){
    return $this->attributes['price'] = config('test.MY_PRICE');
 }
}
仲孙信瑞
2023-03-14

类成员变量称为“属性”。您也可能会看到它们使用其他术语,如“属性”或“字段”,但在本参考中,我们将使用“属性”。它们是通过使用关键字public、protected或private中的一个来定义的,后跟一个普通变量声明。该声明可能包含一个初始化,但该初始化必须是一个常量值——也就是说,它必须能够在编译时进行计算,并且必须不依赖于运行时信息才能进行计算。

实现这一目标的唯一方法是:-

<?php

namespace App;

class Amazon
{
  protected $serviceURL;

  public function __construct()
  {
    $this->serviceURL = config('api.amazon.service_url');
  }
}
何宏博
2023-03-14

通过将此代码添加到您的雄辩模型中,您可以使用保存模型事件:

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();
}

使用此代码后,如果字段pricenull,则在保存数据库中的模型之前,它将从配置键分配一个值。

顺便说一句,你可以改变检查,如果它是一个空字符串或更少,然后一个数字等等,这只是一个例子。

 类似资料:
  • 问题内容: 在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使用以下代码解析文件: 但是当我在命令行中执行时,它不会设置环境变量 我还尝试使用,但同样的问题仍然存在