I don't follow, I never use a constructor to create a record or update, I just use regular methods, same in php, java, asp.net, etc
public function petUpdate(Request $request) {
// Auth here however you need
$validator = \Illuminate\Support\Facades\Validator::make($request->all(), [
'species' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
$petid = $request->input('petid');
$species = $request->input('species');
$postdata = [
'species' => $species
];
DB::table('dc_pets')
->where('petid', $petid)
->update($postdata);
return Response::json(['success' => 'all okay']);
}
For heavy search queries I use scopes in model.