public function actionCron() { $model = Messages::find()->where(['sent' => '0'])->all(); foreach ($model as $data) { // Send messages y('.mailer')->compose(['email' => $data->email])->setHtmlBody($this->renderPartial('email', ['model' => $data]))->setFrom('*****@*****.**')->setTo('*****@*****.**')->setSubject('Cotizador Retalapp')->send(); $data->sent = 1; $data->save(true, ['sent']); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Messages::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'sent' => $this->sent, 'read' => $this->read]); $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'phone', $this->phone])->andFilterWhere(['like', 'message', $this->message]); return $dataProvider; }