Я могу видеть на странице модели Yii2 (http://www.yiiframework.com/doc-2.0/yii-base-model.html) в разделе «поля», в котором вы можете установить «разные списки полей на основе некоторой информации о контексте. Например, в зависимости от сценария $ или привилегии текущего приложения пользователь, вы можете вернуть разные наборы видимых полей или отфильтровать некоторые поля ».Yii2: Могу ли я использовать сценарии для указания разных наборов полей модели для разных действий?
Но сценарий документации (http://www.yiiframework.com/doc-2.0/guide-structure-models.html#scenarios) говорит, что сценарии предназначены для создания различного контекста для проверки атрибутов модели.
Я использую Yii2 Restful API, где мне нужно использовать действия по умолчанию (actionIndex, actionView, ...) для получения данных из модели и отображения результатов API. Я знаю, что могу переопределить эти методы (http://www.yiiframework.com/doc-2.0/guide-rest-controllers.html#extending-active-controller), но как я могу сказать в этих методах использование разных наборов полей (в зависимости от разных сценариев)?
Мне нужно, чтобы вывести поле1, поле2, поле3 для actionIndex (список элементов), но я хочу вывести поле1, поле2, поле3, поле4 для actionView (список элементов).
Не уверен, никогда не использовал остальные api ... Вывести из себя модельный класс, ввести сценарии (и, возможно, правила), а затем переопределить поля()? В контроллере вам нужно будет установить сценарий на модели в каждом действии (т. Е. Вы должны переопределить реализации по умолчанию). В полях вы можете затем решить, какие атрибуты должны быть включены для неявного вызова toArray(). Так ли это работает для вас? – robsch