С здесь :
Оказывается, что если вы объявляете атрибуты publi c в вашей модели ActiveRecord, они затеняют автоматические атрибуты c, созданные AR , Данные присваиваются вашим скрывающим атрибутам, но не отправляются в базу данных.
Вы также можете использовать функцию attributes()
модели, чтобы объявить поля вашей модели и установить проверку полей, используя rules()
функция.
Пример:
public function attributes()
{
return [
'id',
'username',
'name',
'email',
];
}
public function rules()
{
return [
['id', 'safe'],
[['username', 'name', 'email'], 'required'],
[['username', 'name', 'email'], 'string'],
];
}
Для получения дополнительной информации и примеров, пожалуйста, ознакомьтесь с документацией