[英]Laravel 5 Constant define
我尝试了所有选项。 尽管如此,它仍显示“常量表达式包含无效操作”。 我正在使用Laravel 5.5,请帮助。 我需要在常量中定义表名并在Model中使用它。
我在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
表。
根据您在注释中发布的代码,您正在尝试为模型中的属性分配值,但分配的时间过早(假设使用关键字protected
。)您不能这样做:
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');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.