public function actionShowDiscussionByUrl($url) { $discussion = Discussion::find()->url($url)->one(); if ($discussion === null) { $discussion = new Discussion(); $discussion->url = $url; $discussion->generateKey(); if (!$discussion->save()) { throw new BadRequestHttpException(); } } $discussionQuery = Comment::find()->withUserInfo()->discussion($discussion->id); $commentModel = new CommentForm(['discussionID' => $discussion->id]); if ($commentModel->load(Yii::$app->request->post()) && $commentModel->saveComment()) { $commentModel = new CommentForm(['discussionID' => $discussion->id]); } $dataProvider = new ActiveDataProvider(['query' => $discussionQuery, 'pagination' => ['pageSize' => 10]]); return $this->render('list', ['dataProvider' => $dataProvider, 'commentModel' => $commentModel]); }
/** * @return \yii\db\ActiveQuery */ public function getDiscussion() { return $this->hasOne(Discussion::className(), ['id' => 'discussionID']); }