mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Load device relationship from device cache (#12712)
* Load device relationship from device cache * unrelated should be null, not a null object
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Facades\DeviceCache;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
||||
class DeviceRelatedModel extends BaseModel
|
||||
@@ -50,4 +51,19 @@ class DeviceRelatedModel extends BaseModel
|
||||
{
|
||||
return $this->belongsTo(\App\Models\Device::class, 'device_id', 'device_id');
|
||||
}
|
||||
|
||||
// ---- Accessors/Mutators ----
|
||||
|
||||
/**
|
||||
* Use cached device instance to load device relationships
|
||||
*/
|
||||
public function getDeviceAttribute(): ?Device
|
||||
{
|
||||
if (! $this->relationLoaded('device')) {
|
||||
$device = DeviceCache::get($this->device_id);
|
||||
$this->setRelation('device', $device->exists ? $device : null);
|
||||
}
|
||||
|
||||
return $this->getRelationValue('device');
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user