Nếu bạn muốn sử dụng tài hùng biện, trước tiên bạn phải xác định một mối quan hệ. Một thông báo thuộc về một chủ đề và một người dùng. Đây là cách xác định các mối quan hệ:Inside the Message model:
public function user()
{
return $this->belongsTo('App/User'); //User model
}
public function thread()
{
return $this->belongsTo('App/Thread'); //Thread model
}
Để xác định nghịch đảo, bạn làm như sau:Mô hình người dùng bên trong:
public function threads()
{
return $this->hasMany('App/Thread');
}
Bên trong mô hình Chủ đề:
public function messages()
{
return $this->hasMany('App/Message');
}
Bây giờ bạn có thể thực hiện những việc sau trong bộ điều khiển của mình:
$threads = Auth::user()->threads;
Bây giờ bạn có tất cả các chủ đề của người dùng hiện đang đăng nhập. Tôi không chắc liệu mình có trả lời đúng câu hỏi hay không, vì vậy hãy hỏi ngay.
Chỉnh sửa:Bạn có thể kiểm tra như vậy:
$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
}