2015-09-03 4 views
2
class Post { 
    function category() { 
     $this->belongsTo('Category'); 
    } 
} 
class User { 
    function posts() { 
     $this->hasMany('Post'); 
    } 

    function categories() { 
     //??? 
     $this->posts->category; 
    } 
} 

У меня есть код, который выглядит, как это, и мне интересно, как я могу получить доступ к «категории» для объекта пользователя и он возвращает отношение Laravel.Laravel Получить соотношение «belongsTo» из соотношения «» hasMany

Ни один из существующих методов отношения «hasManyThrough» и т. Д., Похоже, не подходит для этого прецедента.

ответ

1

Возможно, вы можете посмотреть на это по-другому? Начиная с категорий и фильтрования пользователем:

$userCategories = Category::whereHas('posts' function($query){ 
    $query->where('user_id', $userId); 
})->get(); 

Это будет охватывать все категории, в которых пользователь сделал сообщение.

Смежные вопросы