You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							90 lines
						
					
					
						
							2.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							90 lines
						
					
					
						
							2.7 KiB
						
					
					
				
								<?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();
							 | 
						|
								        return view('grainbills.edit')->with('grainbill', $grainbill);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    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!');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								}
							 |