Als je welsprekend wilt gebruiken, moet je eerst een relatie definiëren. Eén bericht hoort bij een thread en een gebruiker. Hier leest u hoe u de relaties definieert:In het berichtmodel:
public function user()
{
return $this->belongsTo('App/User'); //User model
}
public function thread()
{
return $this->belongsTo('App/Thread'); //Thread model
}
Om de inverse te definiëren doet u het volgende:Inside User-model:
public function threads()
{
return $this->hasMany('App/Thread');
}
Inside the Thread-model:
public function messages()
{
return $this->hasMany('App/Message');
}
Nu kunt u het volgende doen in uw controller:
$threads = Auth::user()->threads;
Nu heb je alle discussies van de momenteel ingelogde gebruiker. Ik weet niet zeker of ik de vraag goed heb, dus vraag het maar.
Bewerken:je zou het als volgt kunnen controleren:
$thread = Thread::find($id);
$isCurrentUserThread = false;
foreach(Auth::user()->threads as $currentUserThread) {
if($currentUserThread->id == $thread->id) {
$isCurrentUserThread = true;
//$thread belongs to the current user
}
}
if($isCurrentUserThread) {
//the thread belongs to the current user
} else {
//it doesn't belong to the current user
}