Как добавить запись в таблицу в yii2?

Я начинающий в php, отправляю приглашение на почту с помощью хэша. Перед отправкой необходимо заполнить поля в таблице. Но я не понимаю почему не вставляются данные и возвращается в false. Вот код: Что нужно сделать в моделе чтобы он исправно работал?

model/Projects


namespace backend\models;

use Yii;
use yii\behaviors\BlameableBehavior;
use yii\behaviors\TimestampBehavior;
use yii\data\ActiveDataProvider;

/**
 * This is the model class for table "projects".
 *
 * @property int $id
 * @property string|null $name
 * @property string|null $description
 * @property string|null $status
 * @property string|null $created_at
 * @property string|null $updated_at
 * @property int|null $created_by
 * @property int|null $updated_by
 *
 */
class Projects extends \yii\db\ActiveRecord
{

    public $email;

    public $hash;
    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return '{{%projects}}';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['hash'], 'string'],
            [['email'], 'email'],
            [['created_at', 'updated_at'], 'integer'],
            [['created_by', 'updated_by'], 'integer'],
            [['name', 'status'], 'string', 'max' => 45],
            [['description'], 'string', 'max' => 255],
        ];
    }

    public function behaviors()
    {
        return [ BlameableBehavior::class,
            TimestampBehavior::class
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => Yii::t('app', 'ID'),
            'name' => Yii::t('app', 'Name'),
            'description' => Yii::t('app', 'Description'),
            'status' => Yii::t('app', 'Status'),
            'created_at' => Yii::t('app', 'Created At'),
            'updated_at' => Yii::t('app', 'Updated At'),
            'created_by' => Yii::t('app', 'Created By'),
            'updated_by' => Yii::t('app', 'Updated By'),
        ];
    }
    public function getTasks()
    {
        /*return $this->hasMany(Tasks::class, ['project_id' => 'id']);*/
        $query = Tasks::find();


        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);
        $query->where(['project_id'=>$this->id]);
        return $dataProvider;
    }

    public function getProjects()
    {
        return Projects::find()->all();
    }

    public function setInvite()
    {
        $this->hash=substr(md5(time()), 0, 16);
        $invite = new Invitations();
        $invite->hash=$this->hash;
        $invite->save();
        return $invite;

    }

    public static array $statuses = [
        '0'=>"Идея",
        '1'=>"Разработка",
        '2'=>"Готов",
    ];
}

Функция вызывается в actionEmail();

controller/Projects

public function actionEmail()
    {

        $email = Yii::$app->request->get('Projects')['email'];

        $invite= new Projects();
        var_dump($invite->setInvite());

            if (Yii::$app->mailer->compose()
                ->setFrom(Yii::$app->user->identity->email)
                ->setTo($email)
                ->setSubject('Проверьте содержимое письма')
                ->setTextBody('http://127.0.0.1/'.$invite->hash)
                ->send()) {
                return $this->redirect(Yii::$app->request->referrer);

            }

    }

Ответы (0 шт):