Я ищу объяснение и использование случаев для ситуации следует использовать FormModel
вместо Model
Yii2 Модель против FormModel
Давайте мириться пример, классический Author
класс
class Author extends \yii\db\ActiveRecord
{
public static function tableName()
{
return 'tbl_author';
}
public function rules()
{
return [
[['id'], 'integer'],
[['name'], 'string', 'min' => 0, 'max' => 64],
[['name'], 'required'],
[['age'], 'integer'],
];
}
public function attributeLabels()
{
return [
'id' => Yii::t('message', 'ID'),
'name' => Yii::t('message', 'Name'),
'age' => Yii::t('message', 'Age'),
];
}
public function getBook()
{
return $this->hasMany(Book::className(), ['id' => 'id_book'])->via('author_book_relation');
}
public function getAuthorBook()
{
return $this->hasMany(AuthorBook::className(), ['id_author' => 'id']);
}
}
Довольно регулярная модель , Author
с атрибутами id
, name
и , которые имеют отношения к его Books
, через таблицу соотношений AuthorBook
.
Для псевдокласс AuthorForm
, что этот вопрос касается, я полагаю, что его нужно использовать в actionCreate
и actionUpdate
.
Должен ли я использовать его для каждого типа Model
, для которого требуется вставка/обновление UserInterface?
Какова настоящая цель AuthorForm
?
Позволить меня есть Mode
л, сделанные только для тех случаев, 2 (actionCreate
, actionUpdate
), которые могут быть испачканы, как я хочу, не беспокоясь о «реальной» модели, которая обрабатывает данные самостоятельно? Позвольте мне указать некоторые «вспомогательные переменные» для вида формы, где я мог бы (например) определить отношение AuthorBook
?
Используйте модель формы для подтверждения пользователя представил данные, используя форму. Если форма действительна, передайте данные в вашу модель. Это типичный сценарий. – Andreas
С термином FormModel вы ссылаетесь на модель, не основанную на activeRecord? объясните лучше .. потому что FormModel .. немного бинает – scaisEdge
@scaisEdge самый быстрый пример, который я сейчас имею в документах: http://www.yiiframework.com/doc-2.0/guide-input-forms.html # activerecord-based-forms-activeform С FormModel Я имею в виду класс (AuthorForm), расширяющий мой базовый класс ActiveRecord (Author) – FrancescoC