Mi piacerebbe poter aggiungere un attributo / proprietà personalizzati a un modello Laravel / Eloquent quando viene caricato, in modo simile a come ciò potrebbe essere ottenuto con il $model->open()
metodo RedBean .
Ad esempio, al momento, nel mio controller ho:
public function index()
{
$sessions = EventSession::all();
foreach ($sessions as $i => $session) {
$sessions[$i]->available = $session->getAvailability();
}
return $sessions;
}
Sarebbe bello poter omettere il loop e avere l'attributo 'disponibile' già impostato e popolato.
Ho provato ad utilizzare alcuni degli eventi del modello descritti nella documentazione per collegare questa proprietà quando l'oggetto viene caricato, ma finora non ci sono riuscito.
Appunti:
- 'disponibile' non è un campo nella tabella sottostante.
$sessions
viene restituito come oggetto JSON come parte di un'API e pertanto chiamare qualcosa come$session->available()
un modello non è un'opzione