2017-05-20 5 views
0

Ich bin mit dem Benutzer angemeldet, den ich habe, und alles, was ich möchte, ist mein Konto kann nur die Daten sehen, die ich gerade gesendet habe. Hier finde ich ein Problem, das in der Lage ist, die Daten anderer zu sehen.Zeigt Daten als user_id an

Zunächst ist das Modell Daten

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

Und dann Modell Benutzer

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

Das letzte ist das Controller

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

Auch, warum zuweisen Sie $ show_data und dann sofort es Neuzuweisung? – WebSpanner

+0

'Data :: count()': Sie zählen die ganzen Zeilen – Chay22

Antwort

0

App-Modell für Daten

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

Schlussregler

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

hier ist es falsch. $ amount_of_data zählt das $ show_data-Paginat anstelle der tatsächlichen Benutzerdatenmenge – MohamedSabil83

0

bearbeiten Index-Methode auf diese und versuchen:

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')); 
}