public function actionRacer() { $user = new User(); $racer = new Racer(); $races = Race::findAll(['status' => 'PENDING']); if ($user->load(Yii::$app->request->post()) && $racer->load(Yii::$app->request->post())) { $user->type = 'RACER'; $user->status = 'ACTIVE'; $user->password = hash('sha256', $user->identity); $user->creation_date = date('Y-m-d H:i:s'); if ($user->save()) { $racer->place = strtoupper($racer->place); $racer->user_id = $user->id; $racer->creation_date = date('Y-m-d H:i:s'); if ($racer->save()) { Yii::$app->session->setFlash('racerCreated'); return $this->redirect(['racer']); } else { Yii::$app->session->setFlash('errorRacer', array_values($racer->getFirstErrors())[0]); } } else { Yii::$app->session->setFlash('errorRacer', array_values($user->getFirstErrors())[0]); } } return $this->render('racer', ['user' => $user, 'racer' => $racer, 'races' => $races]); }
public function actionView($id) { $model = Race::findOne($id); if (isset($model)) { $racer = new Racer(); if ($racer->load(Yii::$app->request->post())) { $racer->race_id = $id; $racer->creation_date = date('Y-m-d H:i:s'); if ($racer->save()) { $this->redirect(['pay', 'id' => $id]); } else { print_r($racer->getErrors()); die; } } return $this->render('view', ['model' => $model, 'racer' => $racer]); } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Racer::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['position_general' => SORT_ASC]]]); $dataProvider->sort->attributes['user.name'] = ['asc' => ['user.name' => SORT_ASC], 'desc' => ['user.name' => SORT_DESC]]; $query->joinWith(['user']); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'category_id' => $this->category_id]); $name = $this->getAttribute('user.name'); $words = explode(' ', $name); foreach ($words as $word) { $query->andFilterWhere(['or', ['like', 'user.name', $word], ['like', 'user.lastname', $word]]); } return $dataProvider; }
?> <br/> <strong>Talla de Camiseta:</strong> <?php echo $user->size; ?> <br/> <?php } ?> </div> </div> <div class="link-infcarreras"> <?php if ($model->status == 'PENDING') { if (!Yii::$app->user->isGuest) { if (Racer::find()->where('user_id=' . Yii::$app->user->id . ' AND race_id=' . $model->id)->one()) { ?> <a class="ver-inscribirse">Inscrito</a> <?php } else { $form = ActiveForm::begin(); ?> <?php echo $form->field($racer, 'user_id')->hiddenInput(['value' => Yii::$app->user->id]); ?> <?php echo $form->field($racer, 'category_id')->dropDownList(ArrayHelper::map($model->categories, 'id', 'name'), ['prompt' => 'Escoge una categoría']); ?> <?php echo Html::submitButton('Inscribirse', ['class' => 'ver-inscribirse']); ?>
/** * @return \yii\db\ActiveQuery */ public function getRacers() { return $this->hasMany(Racer::className(), ['user_id' => 'id']); }