1
我執行關係,口才很好,我面臨着以下問題時:檢查一個多對多的關係,上市資源
的article
可以有很多followers
(用戶),和user
可以按照很多articles
(按照我的意思,用戶在更新後續文章時會收到通知)。
定義這種關係很簡單:
class User extends Eloquent {
public function followedArticles()
{
return $this->belongsToMany('Article', 'article_followers');
}
}
也
class Article extends Eloquent {
public function followers()
{
return $this->belongsToMany('User', 'article_followers');
}
}
現在,列出我想要顯示每個物品的額外信息的文章時:如果當前用戶是或不是跟着它。
因此,對於每一篇文章我將有:
article_id
title
content
etc.
is_following
(附加域)
我現在正在做的是這樣的:
$articles = Article::with(array(
'followers' => function($query) use ($userId) {
$query->where('article_followers.user_id', '=', $userId);
}
)
);
這樣,我對每一篇文章的額外字段:「包含與單個用戶的數組followers`,如果用戶下面的文章,或者一個空數組如果他沒有跟蹤它。
在我的控制器中,我可以處理這些數據以獲得我想要的形式,但是我感覺這是一種破解。
我很想有一個簡單的is_following
字段與boolean
(無論用戶是否在文章中)。
有沒有簡單的方法來做到這一點?