2017-05-20 4 views
0

私が持っているユーザーでログインしています。私のアカウントには、送信したばかりのデータしか見ることができません。ここで私は他者のデータを見ることができる問題を見つける。データをuser_idとして表示

まず、これはモデルデータ

public function user() 
{ 
// Each data is owned by only one user 
return $this->belongsTo('App\User'); 
} 

そしてモデルユーザー

public function data() 
{ 
// Each user will have a lot of data 
return $this->hasMany('App\Data'); 
} 

最後に、これはこれまで、コントローラ

public function index() 
{ 
    $show_data = Auth::user()->data(); 
    $show_data = Data::where('user_id', '=', $user->id) 
       ->paginate(10); 
    $amount_of_data = Data::count(); 
    return view('data.index', compact('show_data', 'amount_of_data')); 
} 
+0

について、なぜあなたは、$ show_dataを割り当てた後、すぐに再割り当てされていますか? – WebSpanner

+0

'Data :: count()':あなたは行全体を数えます。 – Chay22

答えて

0

アプリのモデルデータ

public function data() 
{ 
    // Each user will have a lot of data 
    return $this->hasMany('App\Data','user_id'); 
} 

決勝コントローラーまた

public function index() 
{ 
    $show_data = Auth::user()->data()->paginate(10); 
    $amount_of_data = count($show_data['data']); 
    return view('data.index', compact('show_data', 'amount_of_data')); 
} 
+0

ここに間違いがあります。 $ amount_of_dataは実際のユーザーデータ量の代わりに$ show_dataページ区切りを数えます – MohamedSabil83

0

編集インデックスメソッドであるとしてみてくださいです:

public function index() 
{ 
    $show_data = auth()->user()->data()->paginate(10); 
    $show_data_count = count(auth()->user()->data); 

    return view('data.index', compact('show_data', 'show_data_count')); 
} 
関連する問題