我正在创建一个名为医生管理系统的项目。我现在陷入困境,当用户登录他的页面时,我的路由功能获得特定的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]);
}
答案 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)。