Laravel / Eloquent - Chętnie ładowane ukryte / widoczne właściwości

Podczas korzystania z Eloquent ORM Laravela, nie mogę ustawić właściwości $ hidden i $ visible na moim modelu dynamicznie.

Przykład 1: To działa:

class User extends Eloquent {
   $this->visible = array('field_name');

   function read() 
   {
      return User::all();
   }
}

Przykład 2: Dynamiczne ustawianie właściwości widocznej w klasie Eloquent nie działa:

class User extends Eloquent {
   function read($visible = array('field_name'))
   {
      $this->visible = $visible; // Also tried: $this->setVisible($visible);

      return User::all();
   }
}

Przykład 3: Rozwiązanie, które działa na samym modelu, ale nie na chętnie załadowanych modelach:

class User extends Eloquent {
   function read($visible = array('field_name'))
   {
      $users = User::all();

      return $users->get()->each(function($row) use ($visible) {
         $row->setVisible($visible);
      });
   }
}

Aby dynamicznie ustawić właściwość $ visible na modelach ładowanych z ochotą, nie widzę innego rozwiązania niż sprawienie, by przykład 2 działał. Ale jak?

questionAnswers(2)

yourAnswerToTheQuestion