未定义的变量:users(查看:C:\ xampp \ htdocs \ rentalmobil \ resources \ views \ admin \ user.blade.php)

时间:2017-11-15 01:02:39

标签: php laravel variables laravel-5.2 undefined

解决

我很困惑,我认为我已经用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 / named 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>$36,738</td>
                        <td>Niger</td>
                        <td>Oud-Turnhout</td>
                    </tr>
                </tbody>
            </table>

        </div>
    </div>
</div>
@endsection

这是我的错误

我使用此http://localhost:8000/users

从我的浏览器拨打电话

image description

抱歉英语不好:(

3 个答案:

答案 0 :(得分:1)

@foreach($admin as $users) 
<tbody>
                    <tr>
                        <td>1</td>
                        <td>{{ $users->email }}</td>
                        <td>$36,738</td>
                        <td>Niger</td>
                        <td>Oud-Turnhout</td>
                    </tr>
                </tbody>
@endforeach

如果你不需要每个

             <tbody>
                        <tr>
                            <td>1</td>
                            <td>{{ $admin[0]->email }}</td>
                            <td>$36,738</td>
                            <td>Niger</td>
                            <td>Oud-Turnhout</td>
                        </tr>
                    </tbody>

答案 1 :(得分:0)

首先,该变量将在视图中被称为admin,因为这是您在编写'admin' => $users时传递它的方式。

其次,它将成为用户的集合,因此$users->email无效。您需要@foreach通过每个用户。

答案 2 :(得分:0)

请更新您的view/admin/user.blade.phpUserController,如:

<强> UserController中

class UserController extends Controller
{
    public function users(){
        $users = Admin::all();
        return view('admin.user', compact('users'));
    }

}

查看/管理/ user.blade.php

<tbody>

 @foreach($users as $user)
   <tr>
       <td>1</td>
       <td>{{ $user->email }}</td>
       <td>$36,738</td>
       <td>Niger</td>
       <td>Oud-Turnhout</td>
   </tr>                
</tbody>