Bristol SU Support Package
ModuleInstanceGrouping.php
Go to the documentation of this file.
1 <?php
2 
4 
6 use BristolSU\Support\ModuleInstance\Contracts\ModuleInstanceRepository as ModuleInstanceRepositoryContract;
9 
10 class ModuleInstanceGrouping extends Model
11 {
12 
13  protected $table = 'module_instance_grouping';
14 
15 
16  protected $fillable = [
17  'heading'
18  ];
19 
20  public function heading()
21  {
22  return $this->heading;
23  }
24 
25  public function scopeForActivity(Builder $query, Activity $activity)
26  {
27  $groupingIds = collect();
28  foreach(app(ModuleInstanceRepositoryContract::class)->allThroughActivity($activity) as $moduleInstance) {
29  if($moduleInstance->grouping_id === null) {
30  continue;
31  }
32  $groupingIds->push($moduleInstance->grouping_id);
33  }
34  return $query->whereIn('id', $groupingIds->unique());
35  }
36 }