belongsTo(Asset::class); } public function get() { return $this->asset; } public function set($value): bool { if (!is_object($value)) $value = Asset::query()->where(['uuid' => $value])->first(); return is_object($value) ? $this->update(['asset_id' => $value->id]) : !$this->delete(); } public static function applyFilter($query, $value) { $value = is_array($value) ? $value : [$value]; $query->whereHas('asset', function($query) use($value) { $query->where(function($query) use($value) { $query->whereIn('uuid', $value)->orWhereIn('name', $value); }); }); } }