php 问题与路线laravel

zzwlnbp8  于 2023-01-08  发布在  PHP
关注(0)|答案(2)|浏览(146)

保存表单中的数据后,我想回到管理页面。我检查了数据库,新数据在那里,但我得到了一个错误:"未定义路由[pages. admin]。"
我的管理控制器代码:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use App\Models\Admin;

class AdminController extends Controller
public function store(Request $request)
    {
        // Validation code

        // Saveing code

        return redirect()->route('pages.admin')
                         ->with('success', 'Admins created successfully.');
    }

我的页面控制器:

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;

class PagesController extends Controllerpublic 
function admin(){
        return view('pages.admin');
    }

路线:

Route::get('/admin', 'PagesController@admin');
Route::post('admin_form', 'AdminController@store');

会很感激你的帮助。
我在网上查过了但没用

2admgd59

2admgd591#

您将视图名称与路线名称混淆了。您的视图名称为pages.admin,因为在应用程序的views文件夹下的pages文件夹中有一个admin.blade.php视图。
要使route('pages.admin')工作,您需要为路由分配一个名称。您可以在定义路由时使用name()来完成此操作。

Route::get('/admin', 'PagesController@admin')->name('pages.admin');

经常为路线命名是一个好习惯。例如:它允许你改变网址而不必担心你的重定向中断,因为他们使用的名称没有改变.

kmpatx3s

kmpatx3s2#

我找到了一个视频并将控制器中的代码更改为

return redirect('admin');

而且奏效了。

相关问题