ویرایش و حذف دسته بندی در پنل ادمین

- 4 روز پیش
توسط Alimotreb آپدیت شد
سید زاهد حسینی ( 1180 تجربه )
4 روز پیش

خسته نباشید دوستان من سیستم دسته بندی رو کاملا پیاده سازی کرده بودم و مشکلی نداشت اما الان متد های index - create - store اون کار میکنن اما زمانی که میخوام ویرایش یا حذف کنم صفحه 404 میده هرچی هم web.php روت رو نگاه میکنم جایی هم overwrite نکردم
نمیدونم اما یجای کوچیک اشتباهی هست پیدا نمی کنم :(( این هم کد :

Route::group([ 'namespace' => 'Admin', 'middleware' => ['auth:web' , 'CheckAdmin'] , 'prefix' => 'admin'] , function (){
    $this->get('/panel' , 'PanelController@index');
    $this->resource('articles' , 'ArticleController');
    $this->get('delete/tizer/{tizer}' , 'ArticleController@deleteTizer')->name('delete.tizer');
    $this->get('delete/file/{file}' , 'ArticleController@deleteFile')->name('delete.file');
    $this->resource('category' , 'CategoryController');
    $this->resource('comments' , 'CommentController');
    $this->get('comments/unapproved' , 'CommentController@set')->name('comments.set');
    $this->post('/panel/upload-image' , 'PanelController@ckImage');
.........

این کنترولر

    public function edit(Category $category)
    {
        return view('admin.category.edit',compact('category'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Category  $category
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, Category $category)
    {
        $this->validate($request , [
            'name' => 'required'
        ]);

        $category->update($request->all());
        alert()->success('بسیار عالی','دسته بندی مورد نظر ویرایش گردید')->autoclose(4000);
        return redirect(route('category.index'));
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Category  $category
     * @return \Illuminate\Http\Response
     */
    public function destroy(Category $category)
    {
        $category->delete();
        alert()->info('دقت کنید','دسته بندی مورد نظر حذف گردید')->autoclose(4000);
        return redirect(route('category.index'));
    }

این هم blade

     @foreach($categories as $category)
                    <tr class="gradeA">
                        <td>{{$loop->iteration}}</td>
                        <td>{{$category->name}}</td>
                        <td>
                            <form action="{{ route('category.destroy',['id'=>$category->id]) }}" method="post">
                                {{ method_field('delete') }}
                                {{ csrf_field() }}
                                <div class="btn-group">
                                    <a href="{{ route('category.edit' , ['id'=>$category->id]) }}" class="btn btn-primary">ویرایش</a>
                                    <button type="submit" class="btn btn-danger">حذف</button>
                                </div>
                            </form>
                        </td>
                        </td>
                    </tr>
                @endforeach
Alimotreb ( 67967 تجربه )
4 روز پیش

سلام
@zahedhosseini

فرمتون ایراد داره
توی فرم action رو برای ادیت درست قرار بدید
دکمه submit رو هم اوکی کنید که به روت مربوطه خودش و کنترلر مربوطه اش بره

php artisan route:;list

رو بزنید
اسم دقیق روت ادیت رو پیدا کنید و توی اکشن فرمتون قرار بدید

سید زاهد حسینی ( 1180 تجربه )
4 روز پیش

@Alimotreb

از رو همین روت لیست گرفتم, name روت هام همونه! ؟؟؟ استغفرواله.. :) چش شد این!
ربطی به ralation ها یا میدلورهای روت group web.php نداره؟

|        | POST      | admin/category                            | category.store      | AppHttpControllersAdminCategoryController@store                    | web,auth:web,CheckAdmin
        |
|        | GET|HEAD  | admin/category                            | category.index      | AppHttpControllersAdminCategoryController@index                    | web,auth:web,CheckAdmin
        |
|        | GET|HEAD  | admin/category/create                     | category.create     | AppHttpControllersAdminCategoryController@create                   | web,auth:web,CheckAdmin
        |
|        | DELETE    | admin/category/{category}                 | category.destroy    | AppHttpControllersAdminCategoryController@destroy                  | web,auth:web,CheckAdmin
        |
|        | GET|HEAD  | admin/category/{category}                 | category.show       | AppHttpControllersAdminCategoryController@show                     | web,auth:web,CheckAdmin
        |
|        | PUT|PATCH | admin/category/{category}                 | category.update     | AppHttpControllersAdminCategoryController@update                   | web,auth:web,CheckAdmin
        |
|        | GET|HEAD  | admin/category/{category}/edit            | category.edit       | AppHttpControllersAdminCategoryController@edit                     | web,auth:web,CheckAdmin

روی دکمه ویرایش که ماوس میره آدرس رو درست مینویسه پایین کروم

http://127.0.0.1:8000/admin/category/3/edit 

نمیشه مجبورم روت هارو یکی یکی حذف کنم ببینم مشکل از کجاس!؟

Alimotreb ( 67967 تجربه )
4 روز پیش

سلام
@zahedhosseini

خطا خاصی ندارید شما آخه
من دارم میبینم مشکلی از این جهات نیست
اوکی هست کد هاتون و خطای سینتکسی هم ندارید
کش مرورگرتون رو پاک کنید یه دور
وب سرور رو زمپ رو یه باز ببندید از اول استارت کنید

و مجدد تست بگیرید
و اصلا url رو به صورت همون متدش که گت هست در مرور گر وارد کنید
من حس میکنم url ش درست نیست
همون تگ a که دکمه تون هست رو یه inspect element بگیرید ازش موقع اجرا ببینید آدرس رو به کجا زده!
شاید یه prefix اضافه admin اول آدرس آورده باشه یا...
کد مشکلی نداره از نظر من

اگر نشد
prefix رو به صورت تست بزارید
modiriat

توی گروپ خودش

چون خودم یه بار همچین مشکلی خوردم و پرفیکس رو عوض کردم حل شد!
شما هم یه تست بگیرید.

برای ارسال پاسخ باید وارد سایت شوید