2017-09-12 128 views
0

所以我有兩個模型安裝,用戶和郵政。郵政有一個belongsTo用戶設置和用戶有一個hasMany設置的職位。Laravel 5.4雄辯的地方

當我得到我所有的帖子,我想確保用戶不被禁止。禁止是在數據庫中的一個int,名爲ban的列,我想確保它等於0.我原本通過這些帖子循環,檢查以確保用戶不被禁止,然後將其推送到數組並傳遞該數組到工作正常的視圖。但是,我現在想要啓用分頁,並且因爲我沒有傳入雄辯的對象而被破壞。

這是現在我的口才:

$posts = Post::where('status', '>', 1)->orderBy('published_date', 'desc')->paginate(10); 
+0

通過哪個模型和哪個字段應該檢查用戶? –

回答

3

使用whereHas()

$posts = Post::where('status', '>', 1)->whereHas('user', function($q) { 
    $q->where('ban', 0); 
})->orderBy('published_date', 'desc')->paginate(10); 

我認爲,你從Post模型上User模型user關係。