在Laravel列表中显示用户名列表

时间:2019-01-28 21:51:47

标签: php laravel laravel-controller

我已经有几个小时的问题了,我不知道出什么问题了。我正在尝试列出Laravel中的注册用户列表,但它一直给我错误:

  

“未定义的变量:用户(查看:   C:\ xampp \ htdocs \ laraveltest1 \ links \ resources \ views \ home.blade.php)“

我在Laravel Discord服务器上询问了一下。我们已经尝试了好几件事,例如更改名称和更改代码。

Home.blade.php

@foreach ($users as $user) {
<tbody>
<tr>
    <td>{{ $user->name }}</td>
</tr>
</tbody>
@endforeach

控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

}

class UserController extends Controller
{
    public function index()
    {
        $users = DB::table('users')->get();

        return view()-> with ('home', ['users' => $users]);
    }
}

我想要一个列表,但这给了我上面提到的错误代码。

2 个答案:

答案 0 :(得分:1)

尝试一下:

use App\User;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();

        return view('home', compact('users'));
    }

} 

您认为

@foreach($users as $user)
{{$user->name}}
@endforeach

答案 1 :(得分:0)

添加到@LucasPiazzi的答案中。

class UserController extends Controller
{
    public function index()
    {
        $users = DB::table('users')->get();

        return view('home')->with(['users' => $users]); //take a closer look here
    }
}

这是将变量从控制器传递给视图的方式。现在,如果您将{{ dd($users) }}添加到home.blade.php,您应该可以看到$users变量的转储