Podczas korzystania z Eloquent ORM Laravel, nie mogę ustawić dynamicznie wartości $ hidden i $ visible w moim Modelu.Laravel/Eloquent - Chętnie ładowane ukryte/widoczne właściwości
Przykład 1: To działa:
class User extends Eloquent {
$this->visible = array('field_name');
function read()
{
return User::all();
}
}
Przykład 2: Ustawianie właściwości visible na klasie wymowny dynamicznie, 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 w modelach z pełnym obciążeniem:
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 ustawić właściwość $ visible dynamicznie w modelach z ładunkiem ładowanym, nie widzę innego rozwiązania, niż uzyskanie przykładu 2. Ale jak?
Mam ten sam problem .. Czy kiedykolwiek byłeś w stanie znaleźć rozwiązanie? – ipengineer
Nie, nadal nie. –
Właśnie obejść to poprzez wykonanie -> select() na metodach wewnątrz mojego modelu. http://stackoverflow.com/questions/16994253/laravel-eager-loading-load-only-specific-columns – ipengineer