diff --git a/app/Filters/MonitorModeFilter.php b/app/Filters/MonitorModeFilter.php index ed7877c..c855987 100644 --- a/app/Filters/MonitorModeFilter.php +++ b/app/Filters/MonitorModeFilter.php @@ -7,6 +7,12 @@ use App\Models\Device; class MonitorModeFilter extends ModelFilter { + + public function region($region){ + return $this->whereHas('region', function($q)use($region){ + return $q->where('regions.id', $region); + }); + } /** * 类型 */ diff --git a/app/Http/Resources/MonitorModeResource.php b/app/Http/Resources/MonitorModeResource.php index 14d5769..bdf5a5a 100644 --- a/app/Http/Resources/MonitorModeResource.php +++ b/app/Http/Resources/MonitorModeResource.php @@ -16,6 +16,7 @@ class MonitorModeResource extends JsonResource { return [ 'id' => $this->id, + 'type' => $this->type, 'name' => $this->name ]; } diff --git a/app/Models/MonitorMode.php b/app/Models/MonitorMode.php index a77e5af..6a9ab57 100644 --- a/app/Models/MonitorMode.php +++ b/app/Models/MonitorMode.php @@ -122,6 +122,10 @@ class MonitorMode extends Model ); } + public function region(){ + return $this->belongsToMany(Region::class, RegionMonitor::class, 'monitor_id', 'region_id')->withTimestamps(); + } + public function devices(){ return $this->belongsToMany(Device::class, MonitorDevice::class, 'monitor_id', 'device_id')->withPivot('fields'); }