2016-10-18 6 views
3

index.blade.phpファイルのMy usersテーブルのデータ(ユーザー名、電子メール)を表示します。このLaravel 5.2でインデックスメソッドを表示する方法

<?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であるように、私はUsersController.phpを持っていることは

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

@endsection 

ルートである

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

が、ときであります私はそれが空のページを表示するインデックスビューを訪問e(エラーなし)、名前とメールは表示されませんでした

どのようにこの問題を解決できますか?

+0

ユーザーモデルにメソッドuserr()がありません。 $ users = User :: scopeUserr() - > get();を試してください。また、変数のユーザーをビューに送信し、ユーザーをループさせようとしています。 – Chris

+0

マイユーザモデルにuserr()メソッドがあります。それをもう一度見てください... – Fernando

答えて

0

使用User::all();ではなく、ユーザーテーブルではなく、User::userr()->get();

からすべての件のデータまた、あなたが変数$usersビューに送信され、ブレードの$user@foreachでループを使用しているを取得します。

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

それが動作するはずfile.Thenあなたのブレード上

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

へ。

+0

いいえ、この方法での解決策 – Fernando

0

あなたのルートにインデックス(/)で何らかの処置があるかどうかを確認してください。表示されていない場合は、インデックスのルートを目的のビューまたはコントローラに設定します。次に、コントローラから、送信したいデータと共に正しいビューを返します。

ブレードテンプレートでは、コントローラから渡した正確な変数名を使用します。

など。 、

あなたのブレードで
Route::get('/', function(){ 
    //variable here 
    return view('view')->with('var', $var); 
}); 

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

は、この情報がお役に立てば幸いです。

関連する問題