2017-09-12 16 views
0

私は2つのモデルセットアップ、ユーザーと投稿を持っています。投稿にはbelongsToのユーザーが登録されており、ユーザーに投稿用にhasManyの設定があります。Laravel 5.4 Eloquent親がどこにある

すべての投稿を取得する際に、そのユーザーが禁止されていないことを確認したいと思います。禁止されているのはという列のデータベースのint型で、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関係を持っている、と仮定します。

関連する問題