繁体   English   中英

Laravel中的ErrorException未定义变量

[英]ErrorException in Laravel Undefined variable

我是Laravel的新手,现在正在使用“关系”,但是由于

ErrorException:未定义的变量:用户(视图:D:\\ Softwares \\ WampServer \\ www \\ LaravelRelations \\ resources \\ views \\ users \\ index.blade.php)

控制器位于 usersController.php

public function index()
{
    $users = \App\User::all();
    return view('users.index', compact($users));
}

路线在 web.php 定义

Route::resource('users', 'usersController');

模型是 User.php Role.php 作为

<?php
//User.php
namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    public function role() {
        return $this->belongsTo('\App\Role');
    }
}


<?php
//Role.php
namespace App;

use Illuminate\Database\Eloquent\Model;

class Role extends Model
{
    public function user() {
        return $this->hasMany('\App\User');
    }
}

这是 用户文件夹中 index.blade.php

 <!DOCTYPE html> <html> <head> <title></title> </head> <body> <ul> <?php foreach ($users as $user) { echo "<li>" . $user->username . "is" . $user->role->role_name; } ?> </ul> </body> </html> 

错误在此行中foreach ($users as $user) {$users variable

代码的错误部分是compact($users)它必须是compact('users') 固定代码为

public function index()
{
    $users = \App\User::all();
    return view('users.index', compact('users');
}

compact('users')是等效的['users'=> $ users]

尝试这个

public function index()
{
    $users = \App\User::all();
    return view('users.index', ['users' => $users] );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM