56 lines
2 KiB
PHP
56 lines
2 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders\Mandatory;
|
|
|
|
use App\Models\Settings;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Arr;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\File;
|
|
use Illuminate\Support\Facades\Schema;
|
|
use Uwil\LaravelCommon\Helpers\FileHelper;
|
|
|
|
class SettingsSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run(): void
|
|
{
|
|
Schema::disableForeignKeyConstraints();
|
|
DB::table((new Settings())->getTable())->truncate();
|
|
Schema::enableForeignKeyConstraints();
|
|
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new Settings())->getTable()));
|
|
|
|
Settings::factory(1)->make()->each(function (Settings $settings) {
|
|
$settings->logo = FileHelper::storeFile(
|
|
new Settings(),
|
|
new \SplFileInfo(
|
|
\resource_path('../database/factories/assets/settings/default-picture-200x200.jpg')
|
|
),
|
|
prefix: $settings->tenant_id
|
|
);
|
|
$attributes = $settings->getAttributes();
|
|
$settings->setRawAttributes([
|
|
'sub_title' => \json_encode([
|
|
'fr' => 'FR ' . $settings->sub_title,
|
|
'nl' => 'NL ' . $settings->sub_title,
|
|
'en' => 'EN ' . $settings->sub_title,
|
|
'es' => 'ES ' . $settings->sub_title,
|
|
'de' => 'DE ' . $settings->sub_title,
|
|
]),
|
|
'footer_phrase' => \json_encode([
|
|
'fr' => 'FR ' . $settings->footer_phrase,
|
|
'nl' => 'NL ' . $settings->footer_phrase,
|
|
'en' => 'EN ' . $settings->footer_phrase,
|
|
'es' => 'ES ' . $settings->footer_phrase,
|
|
'de' => 'DE ' . $settings->footer_phrase,
|
|
])
|
|
]);
|
|
$settings->fill(Arr::except($attributes, ['sub_title', 'footer_phrase']));
|
|
$settings->saveOrFail();
|
|
});
|
|
}
|
|
}
|