ada beberapa cara untuk melakukan append attribut / menambahkan atrribut baru ke dalam model laravel , ini dibutuhkan biasanya saat kita membuat custom respon api

1. Bisa menggunakan magic method  

    protected $appends = ['roles_origin'];

    public function getRolesOriginAttribute() {

        return $this->relations['permissions']->pluck('name');

   }

setiap model dipanggil maka akan otomatis menambahkan attribut roles_origin .


2. Cara kedua yaitu langsung menggunakan function setAttribute ..

$user= User::find($id);  

$user->setAttribute("status","aktif ''); 


3. Cara ketiga dengan menggunakan map 

$permissions_group = PermissionsGroup::with('permissions')->find($request->id);

        $permissions_group->permissions->map(function($item ) use ($request){ 

            $role_check = Role::where('name', $request->role)->first();

            $item['active'] = $role_check->hasPermissionTo( $item['name']);

            return $item;

        });

koding diatas akan menambahkan attribut baru dengan key 'active' ke model relasi permissions, 


4. Pengunaan map dengan data array

        $penilaian = Penilaian::select(['text'])->get();

        $array =['ya','tidak','ya'];

       $penilaian->each(function($item, $key) use ($array) 

            $item['jawaban'] = $array[$key];

        })->all();


hasilnya :