class UserModel extends ActiveRecord {
const SCENARIO_UPDATE = 'update';
public function scenarios(){
return [
self::SCENARIO_DEFAULT => ['username', 'email', 'password'],
self::SCENARIO_UPDATE => ['username', 'password'],
];
}
}
class UserController extends Controller {
public function actionUpdate(){
$model = new UserModel();
$model->scenario = UserModel::SCENARIO_UPDATE;
// ...
}
}
ID
в options
: https://github.com/yiisoft/yii2/blob/master/framew... common\models\LoginForm::secenario
- это, скорее всего, невалидный код. Валидный это: common\models\LoginForm::secenarios()
или, например, common\models\LoginForm::SCENARIO_DEFAULT
. В вашем случае код будет работать только если у вас в LoginForm
есть константа scenario
. Если её нет, значит у вас глушаться ошибки, а на хостинге - нет. $form = ActiveForm::begin();
echo $form->field($model, 'email');
echo $form->field($model, 'password')->passwordInput();
ActiveForm::end();
LoginForm[email] = ''
LoginForm[password] = ''
$model = new LoginForm();
if (Yii::$app->request->isPost){
if ($model->load(Yii::$app->request->post()) && $model->validate()){
... далее авторизация
}
}
public function rules() {
return [
['field' , MethodValidator::className()],
];
}
/**
* After file save event handler.
*/
public function afterFileSave()
{
if ($this->createThumbsOnSave == true)
$this->createThumbs();
}
/**
* After file save event handler.
*/
public function createThumbs()
{
//...
}
if (!$email = ArrayHelper::getValue(Yii::$app->params, 'developerEmail')) {
if (!$email = ArrayHelper::getValue(Yii::$app->params, 'supportEmail')) {
throw new InvalidConfigException('App must have a developer or support email');
}
}
// нужно добавить компонент db используя текущую базу
Yii::$app->setComponents([
'db' => $this->getDb(),
]);
$user = new User();
$user->email = $email;
$user->status = User::STATUS_ACTIVE;
$user->role = User::ROLE_DEVELOPER;
$user->setPassword('654321');
$user->generateAuthKey();
$user->save();