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?