2016-08-09 3 views
0

Я следовал учебник, где я просмотреть одно сообщение, но по каким-то причинам увидеть не нашел expection я не знаю, чего не хватаетмаршрут не работает

NotFoundHttpException в RouteCollection.php линии 161:

Я пытаюсь получить доступ к маршруту через этот URL

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

View Path

просмотров -> админ -> Блог -> single.blade.php

Маршрут

Route::group(['prefix' => '/admin'], function(
Route::get('/blog/post/{post_id}&{$end}', [ 
    'uses' => '[email protected]', 
    '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]); 
} 
} 
+0

существует ваше мнение? в этом случае у вас есть имя файла single.blade.php внутри следующей структуры папок: blog/frontend/ – Christophvh

+0

Мое мнение в представлениях -> admin -> blog -> single.blade.php .. и вы увидите в URL-адресе, который я передаю параметру & admin, который должен вызвать admin.blog.single –

ответ

1

Могли бы вы попробуйте это так?

ROUTE

<?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' => '[email protected]', 
      'as' => 'admin.blog.post' 
     ]); 
    }); 

CONTROLLER

<?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]); 
     } 
    } 
+0

Спасибо, это было полезно –

1

Попробуйте / вместо & ...

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

И ваш URL должен быть как .....

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

И

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

Я только что сделал это, но я вижу ту же страницу ошибок –

+0

remove ',' from 'view()' и добавить '.' –

+0

Спасибо за помощь, с которой она работала для меня –