我是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) {
的{{1}}行中
答案 0 :(得分:3)
您的代码的错误部分是compact($users)
,它必须是compact('users')
。固定代码为
public function index()
{
$users = \App\User::all();
return view('users.index', compact('users');
}
compact('users')是等效的 ['users'=> $ users]
答案 1 :(得分:1)
尝试一下
public function index()
{
$users = \App\User::all();
return view('users.index', ['users' => $users] );
}
答案 2 :(得分:0)
该网站本应由贷款公司使用 并且电子签名应该在 混乱的混乱或消息。我不知道该怎么办