Bristol SU Support Package
src
ModuleInstance
ModuleInstanceGrouping.php
Go to the documentation of this file.
1
<?php
2
3
namespace
BristolSU\Support\ModuleInstance
;
4
5
use
BristolSU\Support\Activity\Activity
;
6
use
BristolSU\Support\ModuleInstance\Contracts\ModuleInstanceRepository
as ModuleInstanceRepositoryContract;
7
use
Illuminate\Database\Eloquent\Model
;
8
use
Illuminate\Database\Eloquent\Builder
;
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
}
Activity
BristolSU\Support\ModuleInstance\ModuleInstanceGrouping\$table
$table
Definition:
ModuleInstanceGrouping.php:13
Model
BristolSU\Support\ModuleInstance\ModuleInstanceGrouping\heading
heading()
Definition:
ModuleInstanceGrouping.php:20
BristolSU\Support\ModuleInstance\ModuleInstanceGrouping
Definition:
ModuleInstanceGrouping.php:10
BristolSU\Support\Activity\Activity
Definition:
Activity.php:20
BristolSU\Support\ModuleInstance\Contracts\ModuleInstanceRepository
Definition:
ModuleInstanceRepository.php:12
BristolSU\Support\ModuleInstance\ModuleInstanceGrouping\$fillable
$fillable
Definition:
ModuleInstanceGrouping.php:16
Builder
BristolSU\Support\ModuleInstance\ModuleInstanceGrouping\scopeForActivity
scopeForActivity(Builder $query, Activity $activity)
Definition:
ModuleInstanceGrouping.php:25
BristolSU\Support\ModuleInstance
Generated by
1.8.13