我有2个模型,User
和Package
。用户有很多包,每个包属于1个用户。我想从数据库中检索随机数量的用户,但前提是他们有包,如下所示:
return self::orderBy(\DB::raw('RAND()'))->packages()->take(6)->get();
packages()
就像这样简单:
return $this->hasMany($packageModel);
我在查询中混合了where('package.name', != ,'')
但这不起作用(仍然返回具有空包的用户)。我想要的是带6个拥有包的随机用户。对此有什么解决方案吗?
答案 0 :(得分:0)
Matt Burrow解决方案。
使用:
self::with('packages')->has('packages')->orderBy(\DB::raw('RAND()'))->take(6)->get();
has
方法仅返回存在此关系的模型。