public function actionRenderSend($broadcast_id) { $broadcast = Broadcast::findOne($broadcast_id); $broadcast_send = new BroadcastSend(); $broadcast_send->broadcast_id = $broadcast_id; $broadcast_send->status = 0; $broadcast_send->save(); if ($broadcast->registered_users == 1) { $users = User::find()->where(['status' => 10])->orderBy(['username' => SORT_ASC])->all(); if ($users) { foreach ($users as $user) { $broadcast_address = new BroadcastAddress(); $broadcast_address->broadcast_send_id = $broadcast_send->id; $broadcast_address->user_id = $user->id; $broadcast_address->save(); } } } if ($broadcast->destinations) { $destinations = preg_split('/\\,/', $broadcast->destinations); foreach ($destinations as $destination) { $arr = preg_split('/#/', $destination); $broadcast_address = new BroadcastAddress(); $broadcast_address->broadcast_send_id = $broadcast_send->id; $broadcast_address->email = trim($arr[0]); $broadcast_address->fio = isset($arr[1]) ? trim($arr[1]) : ''; $broadcast_address->save(); } } return $this->redirect(['send', 'broadcast_send_id' => $broadcast_send->id]); }
/** * @return \yii\db\ActiveQuery */ public function getBroadcasts() { return $this->hasMany(Broadcast::className(), ['broadcast_layouts_id' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getBroadcast() { return $this->hasOne(Broadcast::className(), ['id' => 'broadcast_id']); }