Вы не можете использовать вспомогательные функции, кроме env () внутри файлов конфигурации в Laravel, потому что эти файлы загружаются и кэшируются задолго до вас AppServiceProvider
в конвейере и, следовательно, вы получаетеnull
Если вы хотите получить что-то из базы данных простым глобальным вызовом функции, сделайте свой собственный
Например
app/Helpers.php
<?php
// Name it however you want
function getMerchant()
{
$zarinpal = PaymentConfig::where('slug', 'zarinpal')->first();
return $zarinpal
}
Загрузите его в карту классов композитора через composer.json
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
],
"files": [
"app/Helpers.php"
]
},
Теперь вы можете вызвать getMerchant()
в любом месте вашего кода (кроме config) и получить запись из базы данных
Вставить через помощника, используя точечную нотацию
config(['app.zarinpal.merchant' => $zarinpal->merchant ?? 0]);
И получить к нему доступ вот так
config('app.zarinpal.merchant');
Обратите внимание, что это плохое проектное решение, вы должны принятьвместо этого вспомогательная функция, потому что файлы конфигурации загружаются раньше всего