mirror of https://github.com/kcal-app/kcal.git
				
				
				
			
		
			
				
	
	
		
			129 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| 
 | |
| namespace Database\Seeders;
 | |
| 
 | |
| use App\Models\Food;
 | |
| use App\Models\JournalEntry;
 | |
| use App\Models\Recipe;
 | |
| use App\Models\User;
 | |
| use Illuminate\Database\Seeder;
 | |
| use Illuminate\Support\Carbon;
 | |
| use Illuminate\Support\Facades\DB;
 | |
| 
 | |
| class JournalEntrySeeder extends Seeder
 | |
| {
 | |
|     /**
 | |
|      * Run the database seeds.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function run()
 | |
|     {
 | |
|         /** @var \App\Models\Food[] $foods */
 | |
|         foreach (['peanut butter', 'milk', 'egg', 'raisins'] as $name) {
 | |
|             $foods[$name] = Food::where('name', $name)->first();
 | |
|         }
 | |
| 
 | |
|         /** @var \App\Models\Recipe $recipe */
 | |
|         $recipe = Recipe::all()->first();
 | |
| 
 | |
|         /** @var \App\Models\User $user */
 | |
|         $user = User::all()->first;
 | |
| 
 | |
|         $default_entries = [
 | |
|             [
 | |
|                 'user_id' => $user->id,
 | |
|                 'date' => Carbon::now()->toDateString(),
 | |
|                 'summary' => '2 egg, 1 serving milk',
 | |
|                 'calories' => $foods['egg']->calories * 2 + $foods['milk']->calories,
 | |
|                 'fat' => $foods['egg']->fat * 2 + $foods['milk']->fat,
 | |
|                 'cholesterol' => $foods['egg']->cholesterol * 2 + $foods['milk']->cholesterol,
 | |
|                 'sodium' => $foods['egg']->sodium * 2 + $foods['milk']->sodium,
 | |
|                 'carbohydrates' => $foods['egg']->carbohydrates * 2 + $foods['milk']->carbohydrates,
 | |
|                 'protein' => $foods['egg']->protein * 2 + $foods['milk']->protein,
 | |
|                 'meal' => 'breakfast',
 | |
|             ],
 | |
|             [
 | |
|                 'user_id' => $user->id,
 | |
|                 'date' => Carbon::now()->toDateString(),
 | |
|                 'summary' => '1 serving pancakes',
 | |
|                 'calories' => $recipe->caloriesPerServing(),
 | |
|                 'fat' => $recipe->fatPerServing(),
 | |
|                 'cholesterol' => $recipe->cholesterolPerServing(),
 | |
|                 'sodium' => $recipe->sodiumPerServing(),
 | |
|                 'carbohydrates' => $recipe->carbohydratesPerServing(),
 | |
|                 'protein' => $recipe->proteinPerServing(),
 | |
|                 'meal' => 'lunch',
 | |
|             ],
 | |
|             [
 | |
|                 'user_id' => $user->id,
 | |
|                 'date' => Carbon::now()->toDateString(),
 | |
|                 'summary' => '1 serving pancakes',
 | |
|                 'calories' => $recipe->caloriesPerServing(),
 | |
|                 'fat' => $recipe->fatPerServing(),
 | |
|                 'cholesterol' => $recipe->cholesterolPerServing(),
 | |
|                 'sodium' => $recipe->sodiumPerServing(),
 | |
|                 'carbohydrates' => $recipe->carbohydratesPerServing(),
 | |
|                 'protein' => $recipe->proteinPerServing(),
 | |
|                 'meal' => 'dinner',
 | |
|             ],
 | |
|             [
 | |
|                 'user_id' => $user->id,
 | |
|                 'date' => Carbon::now()->toDateString(),
 | |
|                 'summary' => '1 serving peanut butter',
 | |
|                 'calories' => $foods['peanut butter']->calories,
 | |
|                 'fat' => $foods['peanut butter']->fat,
 | |
|                 'cholesterol' => $foods['peanut butter']->cholesterol,
 | |
|                 'sodium' => $foods['peanut butter']->sodium,
 | |
|                 'carbohydrates' => $foods['peanut butter']->carbohydrates,
 | |
|                 'protein' => $foods['peanut butter']->protein,
 | |
|                 'meal' => 'snacks',
 | |
|             ],
 | |
|             [
 | |
|                 'user_id' => $user->id,
 | |
|                 'date' => Carbon::now()->toDateString(),
 | |
|                 'summary' => '2 servings raisins',
 | |
|                 'calories' => $foods['raisins']->calories * 2,
 | |
|                 'fat' => $foods['raisins']->fat * 2,
 | |
|                 'cholesterol' => $foods['raisins']->cholesterol * 2,
 | |
|                 'sodium' => $foods['raisins']->sodium * 2,
 | |
|                 'carbohydrates' => $foods['raisins']->carbohydrates * 2,
 | |
|                 'protein' => $foods['raisins']->protein * 2,
 | |
|                 'meal' => 'snacks',
 | |
|             ],
 | |
|         ];
 | |
|         JournalEntry::factory()->createMany($default_entries);
 | |
| 
 | |
|         DB::table('journalables')->insert([
 | |
|             'journal_entry_id' => 1,
 | |
|             'journalable_id' => $foods['egg']->id,
 | |
|             'journalable_type' => Food::class,
 | |
|         ]);
 | |
|         DB::table('journalables')->insert([
 | |
|             'journal_entry_id' => 1,
 | |
|             'journalable_id' => $foods['milk']->id,
 | |
|             'journalable_type' => Food::class,
 | |
|         ]);
 | |
|         DB::table('journalables')->insert([
 | |
|             'journal_entry_id' => 2,
 | |
|             'journalable_id' => $recipe->id,
 | |
|             'journalable_type' => Recipe::class,
 | |
|         ]);
 | |
|         DB::table('journalables')->insert([
 | |
|             'journal_entry_id' => 3,
 | |
|             'journalable_id' => $recipe->id,
 | |
|             'journalable_type' => Recipe::class,
 | |
|         ]);
 | |
|         DB::table('journalables')->insert([
 | |
|             'journal_entry_id' => 4,
 | |
|             'journalable_id' => $foods['peanut butter']->id,
 | |
|             'journalable_type' => Food::class,
 | |
|         ]);
 | |
|         DB::table('journalables')->insert([
 | |
|             'journal_entry_id' => 5,
 | |
|             'journalable_id' => $foods['raisins']->id,
 | |
|             'journalable_type' => Food::class,
 | |
|         ]);
 | |
|     }
 | |
| }
 |