如何在Laravel 5.2中显示索引方法

时间:2016-10-18 17:56:47

标签: php mysql laravel-5

我将在index.blade.php文件中查看我的用户表数据(用户名,电子邮件)。我有像这样的UsersController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Auth;
use App\User;

use App\Http\Requests;

class UserController extends Controller
{
    public function index()
{
     $users = User::userr()->get();

    return view('users.index')->withUser($users);
}

}

我的用户模型是

<?php

namespace App;
use Auth;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'username', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];





public function getAvatarUrl()
{
        return "http://www.gravatar.com/avatar/" . md5(strtolower(trim($this->email))) . "?d=mm&s=40";
}

public function scopeUserr($query)
{
     return $query->where('username',Auth::user()->id);

}

}

和index.blade.php是

@if(isset($user))
@foreach($user as $use)
<h1>{ !! $use->username !! }</h1>
@endforeach
@endif

@endsection

路线是

Route::get('/index', function(){
    return view('users.index');
});

但是当我访问索引视图时,它显示空白页面(没有错误)并且没有显示名称和电子邮件

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

使用User::all();来获取用户表中的所有数据,而不是User::userr()->get();

此外,您已将变量$users发送到视图,并在$user循环刀片中使用@foreach

更改@if(isset($user)) @foreach($user as $use)

@if(isset($user)) @foreach($user as $use)

在你的刀片文件上。然后它应该可以工作。

答案 1 :(得分:0)

检查您的路线是否在索引(/)处有任何操作。如果不是,请将索引的路径设置为所需的视图或控制器。然后,从控制器返回正确的视图以及您要发送的数据。

在刀片模板中,使用从控制器传递的确切变量名称。

E.g。 ,

Route::get('/', function(){
  //variable here
  return view('view')->with('var', $var);
});

在你的刀片中,

@if(isset($var))
  @foreach($var as $use)
     //action here
  @endforeach
@endif

希望这有帮助。