内から、私は、私はすべての私のconfigsを保存するテーブルを持っている...Laravel - アセスの設定()のconfig/mail.php
サービスプロバイダ:
class SettingsServiceProvider extends ServiceProvider
{
public function boot(Factory $cache, SettingRepository $settings)
{
if(Schema::hasTable('settings')){
$settings = $cache->remember('settings', 60, function() use ($settings)
{
return $settings->lists();
});
config()->set('settings', $settings);
}
}
public function register()
{
$this->app->bind(
\App\Repositories\SettingRepository::class
);
}
}
サービスリポジトリ:
class SettingRepository{
private $settings;
public function __construct(Setting $settings)
{
$this->settings = $settings;
}
public function update($key, $value = null)
{
if (is_array($key))
{
foreach ($key as $name => $value)
{
$this->update($name, $value);
}
return;
}
$setting = $this->settings->firstOrCreate(['name' => $key]);
$setting->value = $value;
$setting->save();
}
public function lists()
{
return $this->settings->lists('value', 'name')->all();
}
}
config/mail.phpファイル内でconfig()
を使用しようとすると、null値が返されます。
私は何ができますか?