ldc-startcoq/database/seeders/KeywordSeeder.php
2023-02-28 16:38:05 +01:00

233 lines
9.2 KiB
PHP

<?php
namespace Database\Seeders;
use App\Enums\KeywordCategoryEnum;
use App\Models\Keyword;
use App\Models\Keywordable;
use Illuminate\Database\Seeder;
class KeywordSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$id = 0;
/**
* * INGREDIENTS
*/
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[0];
$keyword->label = "Sophistication";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[0];
$keyword->label = "Exotisme";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[0];
$keyword->label = "Fun";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[1];
$keyword->label = "Clean label/naturalité";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[1];
$keyword->label = "Végétarien/vegan";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[1];
$keyword->label = "Bien être";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[2];
$keyword->label = "Solidarité";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[2];
$keyword->label = "Écologie";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[3];
$keyword->label = "Emballage individuel";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[3];
$keyword->label = "Facilité de mise en oeuvre";
$keyword->save();
/**
* * PRODUCTS
*/
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[4];
$keyword->label = "Sophistication";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[4];
$keyword->label = "Exotisme";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[4];
$keyword->label = "Variété des sens";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[4];
$keyword->label = "Fun";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[5];
$keyword->label = "Minceur";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[5];
$keyword->label = "Énergie/Bien-être";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[5];
$keyword->label = "Cosmétique";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[6];
$keyword->label = "Manipulation produit";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[6];
$keyword->label = "Gain de temps";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[6];
$keyword->label = "Nomadisme";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[7];
$keyword->label = "Naturalité";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[7];
$keyword->label = "Végétal";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[7];
$keyword->label = "Médical";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[8];
$keyword->label = "Solidarité";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[8];
$keyword->label = "Écologie";
$keyword->save();
/**
* * PACKAGING
*/
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[9];
$keyword->label = "Sophistication";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[9];
$keyword->label = "Exotisme";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[9];
$keyword->label = "Fun";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[10];
$keyword->label = "Manipulation produit";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[10];
$keyword->label = "Gain de temps";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[10];
$keyword->label = "Nomadisme";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[11];
$keyword->label = "Décor/forme";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[11];
$keyword->label = "Matériaux";
$keyword->save();
$keyword = new Keyword();
$keyword->keyword_cat = \collect(KeywordCategoryEnum::cases())[12];
$keyword->label = "Écologie";
$keyword->save();
// Seeder for keywordables table.
Keyword::query()->get()->each(function (Keyword $keyword) {
Keywordable::factory(mt_rand(1, 3))->make()->each(function (Keywordable $keywordable) use ($keyword) {
if (
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[1]->value ||
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[2]->value ||
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[3]->value ||
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[4]->value
) {
$keywordable->keyword()->associate($keyword);
$keywordable->model = 'App\Models\Ingredients';
$keywordable->saveOrFail();
} elseif (
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[5]->value ||
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[6]->value ||
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[7]->value ||
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[8]->value ||
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[9]->value
) {
$keywordable->keyword()->associate($keyword);
$keywordable->model = 'App\Models\Products';
$keywordable->saveOrFail();
} elseif (
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[10]->value ||
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[11]->value ||
$keyword->keyword_cat->value === \collect(KeywordCategoryEnum::cases())[12]->value
) {
$keywordable->keyword()->associate($keyword);
$keywordable->model = 'App\Models\Packaging';
$keywordable->saveOrFail();
}
});
});
}
}