Revision #33 was created by rackycz on Sep 20, 2019, 11:03:31 AM.
db
Content
[...]
- When creating the model, check this checkbox: **Enable I18N** ... we will need i18n later
- Note that there already is a model named User in the demo app. You will not need it if you want to use login-via-DB so feel free to check "Overwrite" in GII. The newly created User model will now be usable only for table operations, not for login. But we will enhance it, keep reading.
- The new model will only have 3 methods: tableName(), rules(), attributeLabels()
- In order to use the DB for login, we need to implement IdentityInterface which requires [5 new methods](https://www.yiiframework.com/doc/api/2.0/yii-web-identityinterface). But as I do not need all those methods, in some of them I have commented out their body in the example below.
The final model should look like this:
```PHP
<?php
namespace app\models;
use Yii;
class User extends \yii\db\ActiveRecord implements \yii\web\IdentityInterface {
// When user detail is being edited we will only modify attribute password_new
// Why? We dont want to load password-hash from DB and display it to the user
// We only want him to see empty field and if it is filled in, password is changed on background