Я перепробовал все варианты. Тем не менее, он показывает «Константа выражение содержит недопустимые операции». Я использую Laravel 5.5, пожалуйста, помогите. Мне нужно определить имя таблицы в константе и использовать его в модели.
Я написал в модели:
protected $table = Config::get('constants.dbTable.EMAILTEMPLATE');
И в constant.php внутри Config:
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');
}
}
Других решений пока нет …