posts()->detach(); }); } public function scopeSearchBy($query, $search) { if ($search) { $fields = $this->searchable; $query->where(function ($query) use ($fields, $search) { $query->where(array_shift($fields), 'LIKE', "%$search%"); foreach ($fields as $field) { $query->orWhere($field, 'LIKE', "$search%"); } }); } return $query; } public function posts() { return $this->belongsToMany(Feed::class, 'fcom_term_feed', 'term_id', 'post_id') ->withoutGlobalScopes(); } public function getSettingsAttribute($value) { $settings = maybe_unserialize($value); if (!$settings) { $settings = []; } return $settings; } public function setSettingsAttribute($value) { $this->attributes['settings'] = maybe_serialize($value); } public function base_spaces() { return $this->belongsToMany(BaseSpace::class, 'fcom_meta', 'object_id', 'meta_key') ->wherePivot('object_type', 'term_space_relation') ->withoutGlobalScopes(); } }