Implement seeders instead of seeding using migrations, log whatasapp message

This commit is contained in:
Afiq Hamzah
2024-06-05 16:04:39 +08:00
parent cbf6bd5f1f
commit ab6ee95d64
5 changed files with 114 additions and 32 deletions
@@ -21,6 +21,10 @@ class CreateSettingsTable extends Migration
$table->text('description')->nullable();
$table->timestamps();
});
// Call the seeder
(new UnsoldCommodityNotificationSettingSeeders())->run();
(new UnsoldCommodityNotificationPICSeeders())->run();
}
/**
@@ -0,0 +1,70 @@
<?php
use App\Setting;
use Illuminate\Database\Seeder;
class UnsoldCommodityNotificationPICSeeders extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$data_pic = [
'pic_sunday' => [
[
'id' => 366, // nurasiah@pkb.net.my
'no_telefon' => '0123456789',
]
],
'pic_monday' => [
[
'id' => 343, // syada@pkb.net.my
'no_telefon' => '0139403344',
],
[
'id' => 54, // shahmin@pkb.net.my
'no_telefon' => '0196438873',
]
],
'pic_tuesday' => [
[
'id' => 55, // manita@pkb.net.my
'no_telefon' => '0179545432',
]
],
'pic_wednesday' => [
[
'id' => 52, // izzudin@pkb.net.my
'no_telefon' => '0199011095',
]
],
'pic_thursday' => [
[
'id' => 53, // norosmini@pkb.net.my
'no_telefon' => '0129493588',
],
[
'id' => 56, // rozarina@pkb.net.my
'no_telefon' => '0129616201',
],
],
'pic_friday' => [[]],
'pic_saturday' => [[]],
];
$transformed_data = array_map(function($pic){
return json_encode($pic);
}, $data_pic);
$outputs = array_combine(array_keys($data_pic), $transformed_data);
foreach ($outputs as $key => $data) {
Setting::where('group', 'unsold_commodity_notifications')
->where('key', $key)
->update(['value' => $data]);
}
}
}
@@ -1,22 +1,21 @@
<?php
use App\Setting;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Seeder;
class AddUnsoldCommoditiesSettings extends Migration
class UnsoldCommodityNotificationSettingSeeders extends Seeder
{
/**
* Run the migrations.
* Run the database seeds.
*
* @return void
*/
public function up()
public function run()
{
$data = [
[
'key' => 'status',
'value' => 'true',
'value' => '1',
'group' => 'unsold_commodity_notifications',
'description' => 'Turn on or turn off notification for unsold commodity notifications',
],
@@ -83,18 +82,8 @@ class AddUnsoldCommoditiesSettings extends Migration
];
array_walk($data, function($setting){
array_walk($data, function ($setting) {
Setting::create($setting);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('settings');
}
}