Ако искате да използвате eloquent, първо трябва да дефинирате връзка. Едно съобщение принадлежи на нишка и потребител. Ето как да дефинирате връзките:Вътре в модела на съобщението:
public function user()
{
return $this->belongsTo('App/User'); //User model
}
public function thread()
{
return $this->belongsTo('App/Thread'); //Thread model
}
За да дефинирате обратното, трябва да направите следното:Вътрешен потребителски модел:
public function threads()
{
return $this->hasMany('App/Thread');
}
Вътре в модела Thread:
public function messages()
{
return $this->hasMany('App/Message');
}
Сега можете да направите следното във вашия контролер:
$threads = Auth::user()->threads;
Сега имате всички теми от влезлия в момента потребител. Не съм сигурен дали разбрах правилно въпроса, така че питайте.
Редактиране:Можете да проверите така:
$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
}