Widzę na stronie modelu Yii2 (http://www.yiiframework.com/doc-2.0/yii-base-model.html), w sekcji "pola", które można ustawić "różne listy pól na podstawie niektórych informacji kontekstowych.Na przykład, w zależności od scenariusza $ lub przywilej bieżącej aplikacji użytkownik może zwrócić różne zestawy widocznych pól lub odfiltrować niektóre pola. "Yii2: Czy mogę używać scenariuszy do określania różnych zestawów pól modelu dla różnych działań?
Jednak dokumentacja scenariuszy (http://www.yiiframework.com/doc-2.0/guide-structure-models.html#scenarios) mówi, że scenariusze służą do tworzenia różnych kontekstów dla walidacji atrybutów modelu.
Korzystam z Restrykcyjnego API Yii2, gdzie muszę użyć domyślnych akcji (actionIndex, actionView, ...), aby pobrać dane z modelu i pokazać jako wyniki API. Wiem, że mogę zastąpić te metody (http://www.yiiframework.com/doc-2.0/guide-rest-controllers.html#extending-active-controller), ale jak mogę w tych metodach używać różnych zestawów pól (w zależności od różnych scenariuszy)?
To, czego potrzebuję, to wyprowadzanie pola 1, pole 2, pole 3 dla actionIndex (lista elementów), ale chcę wyprowadzić pole 1, pole 2, pole 3, pole 4 dla akcji (lista elementów).
Nie jestem pewien, nigdy nie używałam api ... Wypróbuj klasę modelu, przedstaw scenariusze (i może reguły), a następnie przesłonię pola()? W kontrolerze będziesz musiał ustawić scenariusz na modelu w każdej akcji (tzn. Musisz zastąpić domyślne implementacje). W polach można następnie zdecydować, które atrybuty powinny być włączone dla niejawnego wywołania toArray(). Czy to działa w każdym razie? – robsch