diff --git a/app/Http/Controllers/BeerController.php b/app/Http/Controllers/BeerController.php index b883463..1e28c41 100644 --- a/app/Http/Controllers/BeerController.php +++ b/app/Http/Controllers/BeerController.php @@ -2,9 +2,41 @@ namespace App\Http\Controllers; +use App\Models\Beer; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Redirect; class BeerController extends Controller { - // + public function show() + { + + } + + public function create() + { + return view('beer.create'); + } + + public function store(Request $request) + { + $this->validate($request, [ + 'beer' => 'required', + 'rating' => 'required', + 'country' => 'required', + 'type' => 'required', + ]); + + $beer = new Beer; + + $beer->beer = $request->beer; + $beer->rating = $request->rating; + $beer->country = $request->country; + $beer->type = $request->type; + $beer->review = $request->review; + + $beer->save(); + + return redirect('/profile'); + } } diff --git a/app/Http/Controllers/BeerListController.php b/app/Http/Controllers/BeerListController.php index 916b907..cbba8ee 100644 --- a/app/Http/Controllers/BeerListController.php +++ b/app/Http/Controllers/BeerListController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Models\Beer; use App\Models\BeerList; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -10,8 +11,9 @@ class BeerListController extends Controller { public function show(BeerList $list) { + $beers = Beer::all(); - return view('list.show', compact('list')); + return view('list.show', compact('list', 'beers')); } public function create() @@ -33,4 +35,14 @@ class BeerListController extends Controller return redirect('/profile'); } + + public function addItem(Request $request, $id) + { + $beerId = $request->beer; + $list = BeerList::findOrFail($id); + + // $list->beer()->attach($beerId); + + dd($list->beer()); + } } diff --git a/app/Models/Beer.php b/app/Models/Beer.php index b3bf61a..66c1a01 100644 --- a/app/Models/Beer.php +++ b/app/Models/Beer.php @@ -11,6 +11,6 @@ class Beer extends Model public function list() { - return $this->belongsToMany(BeerList::class); + return $this->belongsToMany(BeerList::class, 'beer_list_pivot', 'list_id', 'beer_id'); } } diff --git a/app/Models/BeerList.php b/app/Models/BeerList.php index b23f90d..1eb7742 100644 --- a/app/Models/BeerList.php +++ b/app/Models/BeerList.php @@ -21,6 +21,6 @@ class BeerList extends Model public function beer() { - return $this->hasMany(Beer::class); + return $this->belongsToMany(Beer::class, 'beer_list_pivot', 'beer_id', 'list_id'); } } diff --git a/database/migrations/2021_09_04_192641_create_beers_table.php b/database/migrations/2021_09_04_192641_create_beers_table.php index c184c3d..4adc8ef 100644 --- a/database/migrations/2021_09_04_192641_create_beers_table.php +++ b/database/migrations/2021_09_04_192641_create_beers_table.php @@ -14,7 +14,7 @@ class CreateBeersTable extends Migration public function up() { Schema::create('beers', function (Blueprint $table) { - $table->unsignedBigInteger('id'); + $table->id(); $table->string('beer'); $table->integer('rating'); $table->string('country'); diff --git a/database/migrations/2021_09_04_202514_list_beers_pivot_table.php b/database/migrations/2021_09_04_231021_beer_list_pivot.php similarity index 54% rename from database/migrations/2021_09_04_202514_list_beers_pivot_table.php rename to database/migrations/2021_09_04_231021_beer_list_pivot.php index a6b2fb0..876df07 100644 --- a/database/migrations/2021_09_04_202514_list_beers_pivot_table.php +++ b/database/migrations/2021_09_04_231021_beer_list_pivot.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class ListBeersPivotTable extends Migration +class BeerListPivot extends Migration { /** * Run the migrations. @@ -13,10 +13,10 @@ class ListBeersPivotTable extends Migration */ public function up() { - Schema::create('list_beers_pivot', function (Blueprint $table) { - $table->unsignedBigInteger('id'); - $table->unsignedBigInteger('beer_id'); - $table->unsignedBigInteger('list_id'); + Schema::create('beer_list_pivot', function (Blueprint $table) { + $table->id(); + $table->foreignId('beer_id')->constrained(); + $table->foreignId('list_id')->constrained(); }); } @@ -27,6 +27,6 @@ class ListBeersPivotTable extends Migration */ public function down() { - Schema::dropIfExists('list_beers_pivot'); + // } } diff --git a/resources/views/beer/create.blade.php b/resources/views/beer/create.blade.php new file mode 100644 index 0000000..0d0523b --- /dev/null +++ b/resources/views/beer/create.blade.php @@ -0,0 +1,29 @@ +@extends('layouts.app') + +@section('content') + Create Beer +
+@endsection diff --git a/resources/views/beer/show.blade.php b/resources/views/beer/show.blade.php new file mode 100644 index 0000000..d231d55 --- /dev/null +++ b/resources/views/beer/show.blade.php @@ -0,0 +1,5 @@ +@extends('layouts.app') + +@section('content') + +@endsection \ No newline at end of file diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index a84f723..e386337 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -22,7 +22,7 @@ -