|
|
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request; use App\Models\Grainbill; use App\Models\Summarie; use App\Models\Grain;
class GrainbillController extends Controller { public function __construct() { $this->middleware('auth'); }
public function index() { $grainbills = Grainbill::get(); foreach ($grainbills as $grainbill) { $beername = Summarie::where('beer_id', $grainbill->beer_id)->value('name'); $grainname = Grain::where('id', $grainbill->grain_id)->value('name'); $grainbill['beer'] = $beername; $grainbill['name'] = $grainname; } return view('grainbills.index')->with('grainbills', $grainbills); }
public function store(Request $request){ // validation
$this->validate($request,[ 'beer_id' => 'required', 'grain_id' => 'required', 'amount' => 'required', 'grain_bill' => 'required', ]);
// create project
$grain = new Grainbill; $lastID = Grainbill::orderBy('id','desc')->take(1)->value('id'); $grain->id = number_format($lastID) + 1; $grain->beer_id = $request->input('beer_id'); $grain->grain_id = $request->input('grain_id'); $grain->amount = $request->input('amount'); $grain->grain_bill = $request->input('grain_bill'); $grain->save();
return redirect('/grainbills')->with('success', 'Grain Bill Added'); } public function edit($id){ $grainbill = Grainbill::where('id', (int)$id)->first(); $beers = Summarie::orderBy('name')->get(); $selected_beer = $grainbill->beer_id; $grains = Grain::orderBy('name')->get(); $selected_grain = $grainbill->grain_id; $data = array('grainbill'=>$grainbill, 'beers'=>$beers, 'grains'=>$grains, 'selected_beer'=>$selected_beer, 'selected_grain'=>$selected_grain); return view('grainbills.edit')->with($data); }
public function update(Request $request, $id){ // validation
$this->validate($request,[ 'beer_id' => 'required', 'grain_id' => 'required', 'amount' => 'required', 'grain_bill' => 'required', ]);
$grain = Grainbill::where('id', (int)$id)->first(); $grain->beer_id = $request->input('beer_id'); $grain->grain_id = $request->input('grain_id'); $grain->amount = $request->input('amount'); $grain->grain_bill = $request->input('grain_bill'); $grain->save();
return redirect('/grainbills')->with('success', 'Grain Updated!'); } public function create() { $beers = Summarie::orderBy('name')->get(); $grains = Grain::orderBy('name')->get(); $data = array('beers'=>$beers, 'grains'=>$grains); return view('grainbills.create')->with($data); } public function destroy($id) { $grainbill = Grainbill::find($id); $grainbill->delete();
return redirect('/grainbills')->with('success', 'Grain deleted!'); }
}
|