laravel where没有union where有

ecbunoof  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(262)

我试图查询我的没有关系的模型,并将其与有关系的模型合并,但是我得到了一个错误,内存耗尽。

Post::whereDoesntHave('comments')
    ->union(Post::newQuery()->whereHas('comments')->getQuery())
    ->paginate();`

有人知道更好的使用工会的方法吗?

3df52oht

3df52oht1#

用下面的代码更新你的post模型。

class Post extends Model
{
    public function comments()
    {
        return $this->hasMany(Comment::class); //Pass Foreign Key if other than id
    }
}

使用此代码更新注解模型。

class Comment extends Model
{
    public function post()
    {
        return $this->belongsTo(Post::class);//Pass Foreign Key if other than id
    }

    public function user()
    {
        return $this->belongsTo(User::class);//Pass Foreign Key if other than id
    }
    public function scopeNoComment($query)
    {
        return $query->count() == 0;
    }

}
$comments = $post->NoComment()->with('user')->paginate(10);

建立关系很容易获取数据。

相关问题