:3
This commit is contained in:
69
app/Http/Controllers/EmployeeController.php
Normal file
69
app/Http/Controllers/EmployeeController.php
Normal file
@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Employee;
|
||||
use App\Models\Company;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests\EmployeeRequest;
|
||||
|
||||
class EmployeeController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$employees = Employee::paginate(10);
|
||||
return view('employees.index', compact('employees'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$companies = Company::all(); // You need to fetch companies for the dropdown
|
||||
return view('employees.create', compact('companies'));
|
||||
}
|
||||
|
||||
public function store(EmployeeRequest $request)
|
||||
{
|
||||
$employee = new Employee();
|
||||
$employee->first_name = $request->first_name;
|
||||
$employee->last_name = $request->last_name;
|
||||
$employee->company_id = $request->company_id;
|
||||
$employee->email = $request->email;
|
||||
$employee->phone = $request->phone;
|
||||
|
||||
$employee->save();
|
||||
|
||||
return redirect()->route('employees.index')->with('success', 'Employee created successfully!');
|
||||
}
|
||||
|
||||
public function show(Employee $employee)
|
||||
{
|
||||
return view('employees.show', compact('employee'));
|
||||
}
|
||||
|
||||
public function edit(Employee $employee)
|
||||
{
|
||||
$companies = Company::all();
|
||||
return view('employees.edit', compact('employee', 'companies'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Employee $employee)
|
||||
{
|
||||
$request->validate([
|
||||
'first_name' => 'required',
|
||||
'last_name' => 'required',
|
||||
'company_id' => 'required|exists:companies,id',
|
||||
'email' => 'nullable|email',
|
||||
'phone' => 'nullable|string',
|
||||
]);
|
||||
|
||||
$employee->update($request->all());
|
||||
|
||||
return redirect()->route('employees.index');
|
||||
}
|
||||
|
||||
public function destroy(Employee $employee)
|
||||
{
|
||||
$employee->delete();
|
||||
return redirect()->route('employees.index');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user