public function actionCreateEvent() { $user = User::findOne(Yii::$app->request->post('user_id')); if (!$user) { return json_encode(['success' => false, 'data' => ['User not found.']]); } $region = Region::findOne(Yii::$app->request->post('region_id')); if (!$region) { return json_encode(['success' => false, 'data' => ['Region not found.']]); } $genre = Genre::findOne(Yii::$app->request->post('genre_id')); if (!$genre) { return json_encode(['success' => false, 'data' => ['Genre not found.']]); } $start_date = new \DateTime(Yii::$app->request->post('start_date')); $end_date = new \DateTime(Yii::$app->request->post('end_date')); $event = new Event(); $event->user_id = $user->id; $event->title = Yii::$app->request->post('title'); $event->location = Yii::$app->request->post('location'); $event->start_date = $start_date->format('Y-m-d H:i:s'); $event->end_date = $end_date->format('Y-m-d H:i:s'); $event->url = Yii::$app->request->post('url'); $event->notes = Yii::$app->request->post('notes'); $event->image = Yii::$app->request->post('image'); $event->visibility = Yii::$app->request->post('visibility'); $event->region_id = $region->id; $event->genre_id = $genre->id; if ($event->save()) { if ($event->visibility == Event::VISIBILITY_PUBLIC) { $eventPost = new EventPost(); $eventPost->event_id = $event->id; $eventPost->status = EventPost::STATUS_NEW; $eventPost->save(); } return json_encode(['success' => true, 'data' => '']); } else { return json_encode(['success' => false, 'data' => $event->getErrors()]); } }
<?php echo $form->field($model, 'category_id')->hiddenInput()->label('', ['class' => 'hidden']); ?> <?php } ?> <?php echo $form->field($model, 'parent_id')->dropDownList($dropdownListData); ?> <?php echo $form->field($model, 'state')->radioList([CONST_STATE_ENABLE => '使用', CONST_STATE_DISABLE => '停用']); ?> <?php echo $form->field($model, 'ord')->textInput(['value' => \app\modules\admin\models\Category::DEFAULT_ORD]); ?> <?php echo $form->field($model, 'genre_id')->dropDownList(array_merge(['0' => '请选择'], \yii\helpers\ArrayHelper::map(\app\modules\admin\models\Genre::find()->all(), 'genre_id', 'genre_name'))); ?> <?php echo Html::submitButton(empty($model->category_id) ? t('app', 'create') : t('app', 'udpate'), ['class' => 'btn btn-primary']); $form->end(); ?> </div>
/** * @return \yii\db\ActiveQuery */ public function getGenre() { return $this->hasOne(Genre::className(), ['id' => 'genre_id']); }
/** * Finds the Genre model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Genre the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Genre::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }