Bristol SU Support Package
HasResource.php
Go to the documentation of this file.
1 <?php
2 
4 
9 
17 {
18 
25  public static function bootHasResource()
26  {
27  static::saving(function($model) {
28  if ($model->activity_instance_id === null) {
29  $model->activity_instance_id = static::activityInstanceId();
30  }
31  if ($model->module_instance_id === null) {
32  $model->module_instance_id = static::moduleInstanceId();
33  }
34  return $model;
35  });
36  }
37 
43  public static function moduleInstanceId() {
44  return app(ModuleInstance::class)->id;
45  }
46 
52  public static function activityInstanceId()
53  {
54  return app(ActivityInstanceResolver::class)
55  ->getActivityInstance()
56  ->id;
57  }
58 
70  public function scopeForResource(Builder $query, $activityInstanceId = null, $moduleInstanceId = null)
71  {
72  $query->where('activity_instance_id', ($activityInstanceId??static::activityInstanceId()))
73  ->where('module_instance_id', ($moduleInstanceId??static::moduleInstanceId()));
74  }
75 
84  public function scopeForModuleInstance(Builder $query, $moduleInstanceId = null)
85  {
86  $query->where('module_instance_id', ($moduleInstanceId??static::moduleInstanceId()));
87  }
88 
89 }
scopeForResource(Builder $query, $activityInstanceId=null, $moduleInstanceId=null)
Definition: HasResource.php:70
scopeForModuleInstance(Builder $query, $moduleInstanceId=null)
Definition: HasResource.php:84