我已经有几个小时的问题了,我不知道出什么问题了。我正在尝试列出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]);
}
}
我想要一个列表,但这给了我上面提到的错误代码。
答案 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
变量的转储