96 lines
1.5 KiB
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');
|
||
});
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|