Vedo nella pagina del modello Yii2 (http://www.yiiframework.com/doc-2.0/yii-base-model.html), nella sezione "campi" che è possibile impostare "" diversi elenchi di campi in base ad alcune informazioni di contesto. Ad esempio, a seconda di $ scenario o del privilegio dell'applicazione corrente utente, puoi restituire diversi set di campi visibili o filtrare alcuni campi. "Yii2: Posso utilizzare scenari per specificare diversi set di campi del modello per diverse azioni?
Tuttavia, la documentazione degli scenari (http://www.yiiframework.com/doc-2.0/guide-structure-models.html#scenarios) indica che gli scenari servono per creare un contesto diverso per la convalida degli attributi del modello.
Sto utilizzando l'API Restful Yii2, dove devo utilizzare le azioni predefinite (actionIndex, actionView, ...) per ottenere dati dal modello e mostrare come risultati API. So che posso ignorare questi metodi (http://www.yiiframework.com/doc-2.0/guide-rest-controllers.html#extending-active-controller), ma come posso dire in questi metodi di utilizzare diversi set di campi (a seconda dei diversi scenari)?
Quello che mi serve è l'output di field1, field2, field3 per actionIndex (elenco di elementi), ma voglio output field1, field2, field3, field4 per actionView (elenco di articoli).
Non sono sicuro, non ho mai usato il resto API ... Derivate dalla classe del modello, introducete scenari (e forse regole) e quindi sovrascrivete i campi()? Nel controller, quindi, è necessario impostare lo scenario sul modello in ogni azione (ad esempio, è necessario sovrascrivere le implementazioni predefinite). Nei campi è quindi possibile decidere quali attributi devono essere abilitati per la chiamata implicita aArray(). In ogni caso, funziona comunque per te? – robsch