Example #1
0
 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]);
 }
Example #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getDiscussion()
 {
     return $this->hasOne(Discussion::className(), ['id' => 'discussionID']);
 }