72 lines
1.4 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Module extends Model
{
use HasFactory;
protected $fillable = [
'name',
'responsible_id',
'municipality_id',
'address',
'colony',
'cp',
'longitude',
'latitude',
'status',
];
protected function casts(): array
{
return [
'longitude' => 'decimal:8',
'latitude' => 'decimal:8',
'status' => 'boolean',
];
}
public function municipality()
{
return $this->belongsTo(Municipality::class);
}
public function tags(){
return $this->hasMany(Tag::class, 'module_id');
}
public function devices()
{
return $this->belongsTo(Device::class, 'device_module')
->withPivot('status')
->withTimestamps();
}
public function deviceModules()
{
return $this->hasMany(DeviceModule::class);
}
public function activeDevices()
{
return $this->belongsToMany(Device::class, 'device_module')
->wherePivot('status', true)
->withPivot('status')
->withTimestamps();
}
public function packages()
{
return $this->hasMany(Package::class);
}
public function responsible()
{
return $this->belongsTo(User::class, 'responsible_id');
}
}