public function store(DefinitionsCreateRequest $request) { $input = $request->all(); $input['surveyor_id'] = Auth::id(); $quantity = $request->input('quantity'); $samples = 0; if($quantity <= 999){ $samples = 3; } elseif($quantity >= 1000 && $quantity <= 4999){ $samples = 5; } elseif($quantity >= 5000){ $samples = 7; } $input['samples_required'] = $samples; $definition = Definition::create($input); $definition_id = $definition->id; // sample $data = [ 'property_id' => $request->property_id, 'surveyor_id' => Auth::id(), 'samples_required' => $samples, 'definition_id' => $definition_id, 'description_id' => $request->description_id, ]; $property_id = $request->property_id; //does property record exist? if(Sample::where('property_id', '=', $property_id)->exists()) { $i = 1; $j = DB::table('samples') ->where('property_id', '=', $property_id) ->max('counter'); while($i <= $samples) { $k = $i + $j; $data['counter'] = $k; Sample::create($data); $i++; } } else{ $i = 1; while($i <= $samples) { $data['counter'] = $i; Sample::create($data); $i++; } } return redirect('/surveyor/define-ha'); }