路线不工作

Route not working

我正在学习一个教程,其中我查看了单个 post 但由于某种原因它没有找到预期我不知道缺少什么

NotFoundHttpException in RouteCollection.php line 161:

我正在尝试通过此 URL

访问路由
http://domain.app/admin/blog/post/2&admin

查看路径

views -> admin -> blog -> single.blade.php

路线

Route::group(['prefix' => '/admin'], function(
Route::get('/blog/post/{post_id}&{$end}', [
    'uses'  => 'PostController@getSinglePost',
    'as'    => 'admin.blog.post'
]);
});

控制器

    <?php

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

class PostController extends Controller {
public function getSinglePost($post_id, $end = 'frontend') {
    $post = Post::find($post_id);

    if(!$post) {
        return redirect()->route('blog.index')->with(['fail' => 'Post not found']);
    }

    return view ($end, '.blog.single', ['post' => $post]);
}
}

尝试 / 而不是 &...

Route::group(['prefix' => '/admin'], function(
Route::get('/blog/post/{post_id}/{end}', [
    'uses'  => 'PostController@getSinglePost',
    'as'    => 'admin.blog.post'
]);
});

你的 url 应该是这样的......

http://domain.app/admin/blog/post/2/admin

return view ($end.'.blog.single', ['post' => $post]);//remove , and add .

你可以这样试试吗?

路线

<?php 

    // SHOULD MATCH SOMETHING LIKE: /admin/blog/post/1/admin
    // OR:                          /admin/blog/post/1/frontend
    Route::group(['prefix' => '/admin'], function(
        Route::get('/blog/post/{post_id}/{end}', [
            'uses'  => 'PostController@getSinglePost',
            'as'    => 'admin.blog.post'
        ]);
    });

控制器

<?php

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

    class PostController extends Controller {
        public function getSinglePost($post_id, $end = 'frontend') {
            $post = Post::find($post_id);

            if(!$post) {
                return redirect()->route('blog.index')->with(['fail' => 'Post not found']);
            }
            // YOU ARE CONCATENATING SO NO NEED FOR COMMA...
            return view($end . '.blog.single', ['post' => $post]);
        }
    }