1
0
Fork 0
internet-everythings-agricu.../app/Models/Device.php

57 lines
1.5 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Device extends Model
{
use HasFactory;
use Filterable;
public const TYPE_MONITOR = 1; //监控设备
public const TYPE_SOIL = 2; //土壤设备
public const TYPE_WATER_QUALITY = 3; //水质设备
public const TYPE_METEOROLOGICAL = 4; //气象设备
public const TYPE_AIR = 5; //通风设备
public const STATE_DISABLED = 0;
public const STATE_ONLINE = 1;
public const STATE_OFFLINE = 2;
public const STATE_FAULT = 3;
protected $fillable = [
'name', 'sn', 'powered_by', 'type', 'model_sn', 'state', 'extends',
'is_enable', 'sort', 'is_recommend',
'group_tags'
];
protected function serializeDate(\DateTimeInterface $date){
return $date->format('Y-m-d H:i:s');
}
public static function typeMap()
{
return [
self::TYPE_MONITOR => '监控设备',
self::TYPE_SOIL => '土壤设备',
self::TYPE_WATER_QUALITY => '水质设备',
self::TYPE_METEOROLOGICAL => '气象设备',
self::TYPE_AIR => '通风设备'
];
}
public function logs(): HasMany
{
return $this->hasMany(DeviceLog::class);
}
public function factory(){
return $this->belongsTo(Keyword::class, 'powered_by');
}
}