COM431_serverside_development/routes/web.php

96 lines
1.5 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Models\Job;
Route::get('/', function () {
return view('home', ['greeting'=>'Hello']);
});
Route::get('/jobs', function () {
$jobs = Job::orderBy('salary','desc')->latest()->paginate(5);
return view('jobs/index', [
'jobs' => $jobs
]);
});
Route::get('/jobs/{id}/edit', function ($id) {
$job=Job::find($id);
return view('jobs.edit',['job'=>$job]);
});
// return view('jobs', ['jobs' => $jobs]);
// });
//Update
Route::patch('/jobs/{id}', function ($id) {
//validate
request()->validate([
'title'=>['required','min:3'],
'salary'=>['required']
]);
$job=Job::findOrFail($id);
$job->update([
'title'=>request('title'),
'salary'=>request('salary')
]);
return redirect('/jobs/'. $job->id);
});
//Destroy
Route::delete('/jobs/{id}', function ($id) {
$job=Job::findOrFail($id);
$job->delete();
return redirect('/jobs');
});
Route::get('/contact', function () {
return view('contact');
});
Route::get('/jobs/create', function () {
return view('jobs/create');
});
Route::get('/jobs/{id}', function ($id) {
$job = Job::find($id);
return view('jobs/show', ['job' => $job]);
});
Route::post('/jobs', function () {
request()->validate([
'title'=>['required','min:3'],
'salary'=>['required']
]);
Job::create(['title'=>request('title'),'salary'=>request('salary'),'employer_id'=>1]);
return redirect('/jobs');
});