. * * @package LibreNMS * @link http://librenms.org * @copyright 2019 Tony Murray * @author Tony Murray */ namespace App\Models; use Illuminate\Database\Eloquent\Builder; class DeviceRelatedModel extends BaseModel { // ---- Query Scopes ---- public function scopeHasAccess($query, User $user) { return $this->hasDeviceAccess($query, $user); } public function scopeInDeviceGroup($query, $deviceGroup) { $groups = $deviceGroup instanceof DeviceGroup ? $deviceGroup->devices()->pluck('devices.device_id') : []; return $query->whereIn($this->getTable() . '.device_id', $groups); } // ---- Define Relationships ---- public function device() { return $this->belongsTo('App\Models\Device', 'device_id', 'device_id'); } }