/home2/mshostin/farms.ms-hostingladz.com/app/Http/Controllers/Animal/CalfController.php
<?php
namespace App\Http\Controllers\Animal;
use App\Http\Controllers\Controller;
use App\Models\Animal;
use App\Models\Calf;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class CalfController extends Controller
{
public function store(Request $request, Animal $animal)
{
$data = $request->validate([
'tag_number' => 'required|string|max:255|unique:calves,tag_number',
'gender' => 'required|in:male,female',
'birth_date' => 'required|date',
'birth_weight' => 'nullable|numeric|min:0',
'current_weight' => 'nullable|numeric|min:0',
'weaning_date' => 'nullable|date',
'notes' => 'nullable|string',
]);
$data['mother_id'] = $request->mother_id;
$data['farm_id'] = $request->farm_id;
$data['created_by'] = Auth::id();
Calf::create($data);
return redirect()->back()->with('success', 'Calf added.');
}
public function update(Request $request, Calf $calf)
{
$data = $request->validate([
'tag_number' => 'required|string|max:255|unique:calves,tag_number,' . $calf->id,
'gender' => 'required|in:male,female',
'birth_date' => 'required|date',
'birth_weight' => 'nullable|numeric|min:0',
'current_weight' => 'nullable|numeric|min:0',
'weaning_date' => 'nullable|date',
'notes' => 'nullable|string',
]);
$calf->update(array_merge($data, ['updated_by' => Auth::id()]));
return redirect()->back()->with('success', 'Calf updated.');
}
public function destroy(Calf $calf)
{
$calf->delete();
return redirect()->back()->with('success', 'Calf deleted.');
}
}