I want the user to view another page when the user clicks the button. inside the new page, some information is already fetched from the database. however, I declare everything but it still saying undefined variable.
form.blade.php
@foreach ($jobs as $job)
<form action="{{route('job-apply', $job->$id)}}" method="post" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group form-group-material a-form-group">
<label class="label">Full name</label>
<input type="text" class="form-control" name="fullname" required />
</div>
<div class="form-group form-group-material a-form-group">
<label class="label">Email</label>
<input type="email" class="form-control" name="email" required />
</div>
<div class="form-group form-group-material a-form-group">
<label class="label">Phone Number</label>
<input type="tel" class="form-control" name="contact" required />
</div>
<div class="form-group form-group-material a-form-group">
<label class="label">Address</label>
<textarea class="form-control" name="address" cols="30" rows="3"></textarea>
</div>
<div class="form-group form-group-material a-form-group">
<label class="label">Category</label>
<input type=text class="form-control" name="category" disabled value="{{ $job->category }}" required />
</div>
<div class="form-group form-group-material a-form-group">
<label class="label">Position</label>
<input type="text" class="form-control" name="position" disabled value="{{ $job->position}}" required />
</div>
<div class="form-group control-file a-file">
<input type="file" name="attachment" accept=".doc,.pdf" multiple />
<div class="file-path-wrapper">
<i class="lni lni-paperclip text-primary"></i>
<input class="file-path form-control" placeholder="Add Attachment(.doc;.pdf)" />
</div>
</div>
<button class="btn btn-success" type="submit">Send</button>
</form>
@endforeach
I have an error inside my form.blade
formcontroller
$jobs = Job::get();
$jobs=Job::where('id',$id)->first();
return view('candidate.apply');
Can someone help me because I am new to Laravel? and here is my main page where user click the button and redirect them to the form
<div class="col-md-2">
<div class="slide-btn">
<a href="{{ route('job-apply',$job->id) }}" class="btn btn-success">Apply</a>
</div>
</div
jobcontroller
public function index()
{
$jobs = Job::get();
$company = Company::get();
$menu = Menu::get();
$current_menu = 4;
// $jobs = Job::latest()->paginate(5);
$jobs = Job::
join('company', 'company.id', '=', 'jobs.company')
->get();
return view('jobs.joblist', compact('jobs', 'company', 'menu', 'current_menu'));
}
public function create()
{
return view('jobs.create');
}
public function store(Request $request)
{
$request->validate([
'company' => 'required',
'category' => 'required',
'position' => 'required',
'description' => 'required',
'salary_from' => 'required',
'salary_to' => 'required',
// 'status' => 'required|boolean',
]);
Job::create($request->all());
return redirect()->route('jobs.index');
}
public function show($id)
{
return view('jobs.show', compact('job'));
}
public function edit($id)
{
return view('jobs.edit', compact('job'));
}
public function update(Request $request, $id)
{
$request->validate([
'company' => 'required',
'category' => 'required',
'position' => 'required',
'description' => 'required',
'salary_from' => 'required',
'salary_to' => 'required',
]);
$jobupdate=Job::where('id',$id)->first();
$jobupdate->company=$request->company;
$jobupdate->category=$request->category;
$jobupdate->position=$request->position;
$jobupdate->description=$request->description;
$jobupdate->salary_from=$request->salary_from;
$jobupdate->salary_to=$request->salary_to;
$jobupdate->save();
// Job::update($request->all());
return redirect()->route('jobs.index');
}
public function destroy(Job $job)
{
$job->delete();
return redirect()->route('jobs.index');
}
public function active(Request $request)
{
// dd('text');
$job = Job::where('company',$request->jobId)->first();
$activeVal=request()->get('value');
// dd($activeVal);
if($activeVal == 1)
{
$activeVal=1;
}else{
$activeVal=0;
}
$job->status=$activeVal;
$job->save();
$output['success'] = 'success';
return response()->json($output, 200);
}