Laravel Версия 5.7 PHP 7 +
Я создал контроллер ресурсов -> CategoryController [со всеми магическими методами]
Это маршруты / web.php
Route::group(['as'=>'admin.','middleware'=>['auth','admin'],'prefix'=>'admin'], function(){
Route::get('/dashboard','AdminController@dashboard')->name('dashboard');
// product resource controller methods
// check php artisan r:l
Route::resource('product', 'ProductController');
Route::resource('category', 'CategoryController');
Route::resource('profile', 'ProfileController');
Route::post('remove', 'CategoryController@remove')->name('category.remove');
});
Теперь, как вы можете видеть, у меня есть "http://127.0.0.1:8000/admin/category/1/edit" для одной из моих категорий для редактирования с помощьюКатегория id = 1, которая также хранится в базе данных.
<?php
namespace App\Http\Controllers;
use App\Category;
use Illuminate\Http\Request;
class CategoryController extends Controller
{
public function index()
{
$categories = Category::paginate(3);
return view('admin.categories.index',compact('categories'));
}
public function edit(Category $category)
{
return "This is category edit page";
// dd($category);
// $categories = Category::where('id','!=', $category->id)->get();
// // dd($categories);
// return "This is category edit page";
// return view('admin.categories.create',['categories' => $categories, 'category'=>$category]);
}
Когда я пытаюсь перейти на эту страницу редактирования категории, отображается ошибка 404 страницы не найдена.
Хотя, когда я создал отдельный маршрут для метода редактирования с функцией закрытия для возврата некоторого текста, он работал отлично.
Route::get('category/{category}/edit', function($category){
return $category;
})->name('category.edit');