我有新闻表,大约有 5000 行,每行都有建筑物 id:
public function building()
{
return $this->belongsTo(\App\Building::class);
}
所以,建筑物有状态名称。我需要选择所有状态,但仅在任何文章具有该状态时才显示。我试过:
$news->pluck('building.status')->unique()->filter()->toArray();
它工作正常,但占用了大约 70MB 的内存。所以,这不适合我的情况。我找到了一个解决方案,看起来只需要 3mb
News::with(['building' => function($query){ $query->groupBy('status'); }])->get();
但我只需要获取没有任何不同信息的状态,以防止 PHP 端进行过滤。我怎样才能得到它?也许有不同的方式?谢谢!
呼如林