路线ID不起作用

时间:2016-08-11 19:15:06

标签: php mysql laravel routes laravel-5.1

我正在创建一个名为医生管理系统的项目。我现在陷入困境,当用户登录他的页面时,我的路由功能获得特定的id&然后显示他的信息。但是当我登录时它没有得到id&这就是为什么它会出现一些错误,但是当我manuaaly输入id时它工作得很好。我没有发现为什么会这样。请大家帮助我。

我的路线档案

Route::group([
    'middleware' => 'auth'
    ], function() {


        Route::get('/home/{profile_id}', [
        'as' => 'admin',
        'uses' => 'AdminController@index'
    ]);

        Route::get('/profile/{profile_id}', array('as' =>'profile' ,'uses' => 'ProfileController@index'));

我的个人资料Controler

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\User;

class ProfileController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */

    public function index($profile_id)
    {
        $profile = User::find($profile_id);
        // if(!$profile) {
        //     return redirect()->route('logout')->with(['fail' => 'Profile Not Found']);
        // }
        return view('admin.article.index',['profile' => $profile]);
    }

错误是 enter image description here

1 个答案:

答案 0 :(得分:0)

您没有指定要访问的网址,因此我认为它是 whatever_your_domain_is / profile / {id}

显示的错误告诉您输入的网址没有路由。

我想你想要显示登录用户的个人资料,所以实际上你在路线上不需要任何{id},你可以:

$profile = Auth::user();
return view('admin.article.index', compact('profile'));

但是,如果您确实想要显示其他用户的个人资料,请查看您的网址。

我注意到的一些事情:

您的个人资料/ {profile_id}&#39;路线在路线组之外,那是应该的方式吗?

选择一种模式来编写代码。您已使用不同的符号编写数组: array() [] 。阅读有关编码标准(例如https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)。