diff --git a/app/Http/Controllers/DeviceWarningController.php b/app/Http/Controllers/DeviceWarningController.php index a62786e..9c8e324 100644 --- a/app/Http/Controllers/DeviceWarningController.php +++ b/app/Http/Controllers/DeviceWarningController.php @@ -62,7 +62,7 @@ class DeviceWarningController extends Controller */ public function warningLog(Request $request) { - $query = DeviceWarning::filter($request->input())->orderBy('created_at', 'desc'); + $query = DeviceWarning::with(['base', 'device'])->filter($request->input())->orderBy('created_at', 'desc'); $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); return $this->json(DeviceWarningResource::collection($list)); diff --git a/app/Http/Resources/DeviceWarningResource.php b/app/Http/Resources/DeviceWarningResource.php index b811ca0..8353123 100644 --- a/app/Http/Resources/DeviceWarningResource.php +++ b/app/Http/Resources/DeviceWarningResource.php @@ -16,6 +16,15 @@ class DeviceWarningResource extends JsonResource { return [ 'id' => $this->id, + 'base_name' => $this->whenLoaded('base', function () { + return $this->base?->name ?? ''; + }, ''), + 'point_name' => $this->whenLoaded('device', function () { + return $this->device?->monitoring_point ?? ''; + }, ''), + 'device_type' => $this->whenLoaded('device', function () { + return $this->device?->type ?? 0; + }, ''), 'lv' => $this->lv, 'status' => $this->status, 'content' => $this->content, diff --git a/app/Models/DeviceWarning.php b/app/Models/DeviceWarning.php index e455f6d..3f29a6d 100644 --- a/app/Models/DeviceWarning.php +++ b/app/Models/DeviceWarning.php @@ -18,4 +18,8 @@ class DeviceWarning extends Model public function base(){ return $this->belongsTo(AgriculturalBase::class, 'base_id'); } + + public function device(){ + return $this->belongsTo(Device::class, 'device_id'); + } }