My route for update is this: ```
Route::patch('/questions/{question}/update-question', [QController::class,'update'])->name('questions.update');
My controller is this:
public function update(Request $request, queations $question)
{
if($request->hasFile('image')) {
// Get filename with extension
$filenameWithExt = $request->file('image')->getClientOriginalName();
// Get just filename
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
// Get just ext
$extension = $request->file('image')->getClientOriginalExtension();
//Filename to store
$fileNameToStore = $filename.'_'.time().'.'.$extension;
// Upload Image
$path = $request->file('image')->storeAs('public/images', $fileNameToStore);
} else {
$fileNameToStore = '';
}
$postData = $request->all();
// dd($postData);
// Update properties of the $post model with data from $postData
$question->statement = $postData['statement'];
$question->topic = $postData['topic'];
$question->subject = $postData['subject'];
$question->answer = $postData['answer'];
// ... (update other fields as needed)
// Save the changes to the database
$question->image = $fileNameToStore;
$question->save();
return redirect('/')->with('success', 'question updated successfully');
}
My edit.blade.php
<div class="form-group">
<label for="topic">Topic Name</label>
<input class="form-control" type="text" name="topic" placeholder="Title" value="{{ $question->topic }}">
</div>
<div class="form-group">
<label for="subject">Subject</label>
<input class="form-control" type="text" name="subject" placeholder="Title" value="{{ $question->subject }}">
</div>
<div class="form-group">
<label for="statement">Statement</label>
<textarea name="statement" id="statement" rows="5" class="form-control">{{ $question->statement }}</textarea>
</div>
<div class="form-group">
<label for="answer">Answer</label>
<textarea name="answer" id="answer" rows="5" class="form-control">{{ $question->answer }}</textarea>
</div>
<div class="form-group">
<label for="image">Image</label>
<input type="file" name="image" placeholder="Title" value="{{ $question->image }}">
</div>
<button type="submit" class="btn btn-success">Update</button>
@endcan
ClassicEditor
.create(document.querySelector('#statement'))
.catch(error => {
console.error(error);
});
ClassicEditor
.create(document.querySelector('#answer'))
.catch(error => {
console.error(error);
});
@endsection