我有两个型号,User
和Package
。用户有许多包,每个包属于一个用户。我想从数据库中检索随机数量的用户,但前提是他们有包,比如
return self::orderBy('DB::raw('RAND()'))->packages()->take(6)->get();
packages()
就这么简单:
return $this->hasMany($packageModel);
我在查询中混合了where('package.name', != ,'')
,但这不起作用(仍然返回具有空包的用户)。我想要的是随机抽取6个有包的用户。有什么解决办法吗?
Matt Burrow的解决方案
用途:
self::with('packages')->has('packages')->orderBy('DB::raw('RAND()'))->take(6)->get();
has
方法将只返回存在此关系的模型。