attributes['code'] = !empty($value) ? $value : Str::upper(Str::random('6')); } public function corporateFormulariums() { return $this->hasMany(CorporateFormularium::class); } public function items() { return $this->belongsToMany(Drug::class, 'formularium_items', 'formularium_id', 'item_id'); } public function scopeFilter($query, Array $filters) { $query->when($filters['search'] ?? false, function ($query, $search) { return $query ->where('code', 'like', "%" . $search . "%") ->orWhere('name', 'like', "%" . $search . "%") ->orWhere('id', $search) ; }); } }