未定义变量:用户(视图:C:\xampp\htdocs\rentalmobil\resources\views\admin\user.blade.php)
Undefined variable: users (View: C:\xampp\htdocs\rentalmobil\resources\views\admin\user.blade.php)
已解决
我很困惑,我认为我已经用 laravel 编写了一个真正的代码。我看过很多参考资料,让我知道如何阅读数据库。是的,我是新手,还在学习。这是我的代码
来自模型。 admin.php 是文件夹的名称:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Admin extends Model
{
protected $table = "admin";
}
这是我的控制器。我的控制器名称是 UserController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Admin;
class UserController extends Controller
{
public function users(){
$users = Admin::all();
return view('admin.user', ['admin' => $users]);
}
}
这是我的观点,它位于 view/admin/ 名为 user.blade.php:
@extends('admin.header')
@section('content')
<div class="col-md-12">
<div class="card">
<div class="header">
<h4 class="title">Striped Table</h4>
<p class="category">Here is a subtitle for this table</p>
</div>
<div class="content table-responsive table-full-width">
<table class="table table-striped">
<thead>
<th>ID</th>
<th>Name</th>
<th>Salary</th>
<th>Country</th>
<th>City</th>
</thead>
<tbody>
<tr>
<td>1</td>
<td>{{ $users->email }}</td>
<td>,738</td>
<td>Niger</td>
<td>Oud-Turnhout</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
@endsection
这是我的错误
我用这个 http://localhost:8000/users
从我的浏览器调用
抱歉英语不好:(
首先,该变量将在视图中被称为 admin
,因为这是您在编写 'admin' => $users
.
时传递它的方式
其次,它将成为 用户集合 ,因此 $users->email
不会起作用。您需要 @foreach
到 每个 用户。
@foreach($admin as $users)
<tbody>
<tr>
<td>1</td>
<td>{{ $users->email }}</td>
<td>,738</td>
<td>Niger</td>
<td>Oud-Turnhout</td>
</tr>
</tbody>
@endforeach
如果你不需要每个
<tbody>
<tr>
<td>1</td>
<td>{{ $admin[0]->email }}</td>
<td>,738</td>
<td>Niger</td>
<td>Oud-Turnhout</td>
</tr>
</tbody>
请更新您的 view/admin/user.blade.php
和 UserController
,例如:
用户控制器:
class UserController extends Controller
{
public function users(){
$users = Admin::all();
return view('admin.user', compact('users'));
}
}
view/admin/user.blade.php:
<tbody>
@foreach($users as $user)
<tr>
<td>1</td>
<td>{{ $user->email }}</td>
<td>,738</td>
<td>Niger</td>
<td>Oud-Turnhout</td>
</tr>
</tbody>
已解决
我很困惑,我认为我已经用 laravel 编写了一个真正的代码。我看过很多参考资料,让我知道如何阅读数据库。是的,我是新手,还在学习。这是我的代码
来自模型。 admin.php 是文件夹的名称:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Admin extends Model
{
protected $table = "admin";
}
这是我的控制器。我的控制器名称是 UserController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Admin;
class UserController extends Controller
{
public function users(){
$users = Admin::all();
return view('admin.user', ['admin' => $users]);
}
}
这是我的观点,它位于 view/admin/ 名为 user.blade.php:
@extends('admin.header')
@section('content')
<div class="col-md-12">
<div class="card">
<div class="header">
<h4 class="title">Striped Table</h4>
<p class="category">Here is a subtitle for this table</p>
</div>
<div class="content table-responsive table-full-width">
<table class="table table-striped">
<thead>
<th>ID</th>
<th>Name</th>
<th>Salary</th>
<th>Country</th>
<th>City</th>
</thead>
<tbody>
<tr>
<td>1</td>
<td>{{ $users->email }}</td>
<td>,738</td>
<td>Niger</td>
<td>Oud-Turnhout</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
@endsection
这是我的错误
我用这个 http://localhost:8000/users
从我的浏览器调用抱歉英语不好:(
首先,该变量将在视图中被称为 admin
,因为这是您在编写 'admin' => $users
.
其次,它将成为 用户集合 ,因此 $users->email
不会起作用。您需要 @foreach
到 每个 用户。
@foreach($admin as $users)
<tbody>
<tr>
<td>1</td>
<td>{{ $users->email }}</td>
<td>,738</td>
<td>Niger</td>
<td>Oud-Turnhout</td>
</tr>
</tbody>
@endforeach
如果你不需要每个
<tbody>
<tr>
<td>1</td>
<td>{{ $admin[0]->email }}</td>
<td>,738</td>
<td>Niger</td>
<td>Oud-Turnhout</td>
</tr>
</tbody>
请更新您的 view/admin/user.blade.php
和 UserController
,例如:
用户控制器:
class UserController extends Controller
{
public function users(){
$users = Admin::all();
return view('admin.user', compact('users'));
}
}
view/admin/user.blade.php:
<tbody>
@foreach($users as $user)
<tr>
<td>1</td>
<td>{{ $user->email }}</td>
<td>,738</td>
<td>Niger</td>
<td>Oud-Turnhout</td>
</tr>
</tbody>