mirror of
https://github.com/HtetPhone/MangaDex.git
synced 2025-02-20 11:23:19 +08:00
orderBy chapter number & chpater number unique while on the same manga
This commit is contained in:
parent
0ef892df4d
commit
b601f09cb2
@ -37,19 +37,25 @@ class ChapterController extends Controller
|
||||
|
||||
$formData = $request->validated();
|
||||
$formData['user_id'] = Auth::id();
|
||||
if($request->hasFile('images')) {
|
||||
if ($request->hasFile('images')) {
|
||||
foreach ($request->file('images') as $key => $image) {
|
||||
$images[] = $image->store($request->manga_id.'ChapterImages', 'public');
|
||||
$images[] = $image->store($request->manga_id . 'ChapterImages', 'public');
|
||||
}
|
||||
$formData['images'] = $images;
|
||||
}
|
||||
//chapter number
|
||||
$manga = Manga::where('id', $request->manga_id)->first();
|
||||
$formData['chapter_no'] = $manga->chapters->count() + 1;
|
||||
|
||||
if ($request->chapter_no) {
|
||||
$formData['chapter_no'] = $request->chapter_no;
|
||||
} else {
|
||||
//chapter number
|
||||
$manga = Manga::where('id', $request->manga_id)->first();
|
||||
$latestChap = $manga->chapters()->latest()->first()->chapter_no;
|
||||
$formData['chapter_no'] = $latestChap + 1;
|
||||
}
|
||||
|
||||
Chapter::create($formData);
|
||||
|
||||
return redirect()->route('home')->with(['message' => 'New Chapter has been added!!']);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -91,4 +97,3 @@ class ChapterController extends Controller
|
||||
return view('chapter.manageChapter', compact('manga'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Validation\Rule;
|
||||
use Illuminate\Database\Query\Builder;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class StoreChapterRequest extends FormRequest
|
||||
@ -21,11 +23,14 @@ class StoreChapterRequest extends FormRequest
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
// dd(request()->manga_id);
|
||||
$id = request()->manga_id;
|
||||
return [
|
||||
'title' => 'required|min:3',
|
||||
'chapter_no' => ['nullable', 'numeric', Rule::unique('chapters', 'chapter_no')->where(fn (Builder $query) => $query->where('manga_id', $id)) ],
|
||||
'manga_id' => 'required|exists:mangas,id',
|
||||
'images' => 'required',
|
||||
'images.*' => 'file|mimes:png,jpg'
|
||||
'images.*' => 'file|mimes:png,jpg',
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -24,9 +24,16 @@
|
||||
<p class="text-danger small">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="">Chapter Number <span class="text-danger small">*Optional</span> </label>
|
||||
<input type="number" name="chapter_no" class="form-control">
|
||||
@error('chapter_no')
|
||||
<p class="text-danger small">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="">Chapter Title</label>
|
||||
<input type="text" name="title" class="form-control">
|
||||
<input type="text" name="title" class="form-control" value="{{old('title')}}">
|
||||
@error('title')
|
||||
<p class="text-danger small">{{ $message }}</p>
|
||||
@enderror
|
||||
|
@ -12,7 +12,7 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
@foreach ($manga->chapters()->latest('id')->paginate(20) as $chapter)
|
||||
@foreach ($manga->chapters()->orderBy('chapter_no', 'desc')->paginate(20) as $chapter)
|
||||
<div class="col-2">
|
||||
<div class="d-flex p-2 border border-1 border-dark rounded align-items-center justify-content-between mb-3">
|
||||
<p class="small mb-0"> Chapter {{ $chapter->chapter_no }} </p>
|
||||
|
@ -10,7 +10,7 @@
|
||||
Latest Chapters
|
||||
</h5>
|
||||
|
||||
@forelse ($manga->chapters()->latest('id')->get() as $chapter)
|
||||
@forelse ($manga->chapters()->orderBy('chapter_no', 'desc')->get() as $chapter)
|
||||
<a href="{{ route('page.chapter', [$manga->slug, $chapter->chapter_no]) }}"
|
||||
class="list-group-item list-group-item-action pb-0 border-0 border-bottom
|
||||
d-inline-block d-flex align-items-center justify-content-between">
|
||||
|
Loading…
x
Reference in New Issue
Block a user