Laravel 5 Constant定义

时间:2018-05-09 06:18:24

标签: php laravel-5 constants

我尝试了所有选项。仍然,它显示"常量表达式包含无效操作"。我正在使用Laravel 5.5,请帮忙。我需要在常量中定义表名,并在Model中使用它。

我在模特中写道:

protected $table = Config::get('constants.dbTable.EMAILTEMPLATE');

在Config中的constant.php中:

return [ 'langs' => 
    [ 
        'es' => 'www.domain.es', 
        'en' => 'www.domain.us' // etc 
    ], 
    'siteTitle' => 'HD Site', 
    'pagination' => 5, 
    'tagLine' => 'Do the best', 
    'dbTable'=>[ 
        'EMAILTEMPLATE' => 'stmd_emailTemplate'
    ] 
];

我想使用emailTemplate表。

1 个答案:

答案 0 :(得分:0)

根据您在评论中发布的代码,您尝试将值分配给模型中的属性,但过早分配(通过关键字protected假设。)您可以&#39这样做:

class SomeModel extends Model
{
    protected $someProperty = config('some.value'); // Too early!
}

因为您正在尝试初始化需要运行时解释的属性。

有一个解决方法;使用你的构造函数。

class SomeModel extends Model
{
    protected $someProperty; // Define only...

    public function __construct() {
        parent::__construct(); // Don't forget this, you'll never know what's being done in the constructor of the parent class you extended
        $this->someProperty = config('some.value');
    }
}