查询两个laravel模型并返回结果

时间:2017-07-29 12:25:28

标签: php sql laravel-5

我有两个模型,UserPost

用户模型:

 public function posts()
    {
        return $this->hasMany('App\Post');

    }

发布模型:

public function user()
    {
        return $this->belongsTo('App\User');
    }

在我的控制器中,我有一个公共功能:

$users = User::orderBy('is_ban', 'desc')->paginate(10);
$posts = Post::orderBy('created_at', 'desc')->paginate(10);

哪个正常运作。 我在用户表'is_ban'中也有一列。它是布尔类型的。

我正在寻找一个将返回以下内容的查询:

  

仅获取具有is_ban=false

的用户发布的帖子

1 个答案:

答案 0 :(得分:1)

也许我还没有理解你,但我希望它会有所帮助。您可以将其添加到Post模型

    public function getBannedUsersPosts()
    {
        return self::whereIn('user_id', User::where('is_ban', 0)->pluck('id'))->get();
    }