/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search1($params) { fb($params); $query = Diary::find()->select(Diary::tableName() . '.*')->addSelect('b.content as content'); $query->leftJoin(['b' => DiaryContent::tableName()], 'b.diary_id = ' . Diary::tableName() . '.id', ['b.content' => 'content']); fb($query->createCommand()->sql); $defaultOrder = ['release_time' => SORT_DESC]; if (!empty($params['orderField'])) { $defaultOrder = [$params['orderField'] => $params['orderDirection'] == 'asc' ? SORT_ASC : SORT_DESC]; } $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 20], 'sort' => ['defaultOrder' => $defaultOrder]]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'release_time' => $this->release_time, 'recommend' => $this->recommend, 'like' => $this->like, 'created_by' => $this->created_by, 'created_at' => $this->created_at, 'updated_by' => $this->updated_by, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'author', $this->author])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'label', $this->label])->andFilterWhere(['like', 'profile', $this->profile])->andFilterWhere(['like', 'source', $this->source])->andFilterWhere(['like', 'diary_type', $this->diary_type])->andFilterWhere(['like', 'privacy', $this->privacy])->andFilterWhere(['like', 'can_reply', $this->can_reply]); fb($dataProvider->getModels()); return $dataProvider; }
public function diaryContent() { return DiaryContent::find()->asArray()->all(); }
use common\models\diary\DiaryContent; use frontend\widget\FrontendUserMenuWidget; use frontend\widget\FrontendUserCommentWidget; use yii\web\View; /* @var $this yii\web\View */ /* @var $model common\models\diary\Diary */ $this->title = $model->title; $this->params['breadcrumbs'][] = ['label' => Yii::t('diary', 'Diaries'), 'url' => ['index']]; $this->params['breadcrumbs'][] = $this->title; $baseUrl = Yii::getAlias('@web'); $this->registerJs("\n \$(function(){\n \$('#user_like_operate').on('click',function(){\n var is_like_operate = \$('#is_like_operate').val();\n if(is_like_operate == 'false'){\n\n var params = {};\n params.diary_id = \$('input[name=\"diary_id\"]').val();\n\n \$.ajax({\n type: 'POST',\n url: '/diary/diary/add-like',\n dataType: 'json',\n data: params,\n success: function(data){\n if(data.status == 'success'){\n \$('#is_like_operate').val('true');\n \$('#user_like_operate i').removeClass('fa-thumbs-o-up').addClass('fa-thumbs-up');\n \$('#user_operate_view').html(data.liked_count + ' likes');\n\n }else{\n alertMsg.error(data.msg);\n }\n }\n });\n }\n })\n })\n"); ?> <?php $diaryContent = ''; $diaryContentModel = DiaryContent::find()->Where(['diary_id' => $model->id])->one(); if (!empty($diaryContentModel)) { $diaryContent = $diaryContentModel->getAttribute('content'); } ?> <div class="diary-view"> <div class="container"> <!-- Main content --> <section class="content"> <div class="row"> <!-- TODO:相册主题 --> <div class="col-md-8"> <h3><?php echo $model->title;
/** * Deletes an existing Diary model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param integer $id * @return mixed */ public function actionDelete($id) { $this->findModel($id)->delete(); DiaryContent::deleteAll('diary_id = :diary_id', [':diary_id' => $id]); DiaryComment::deleteAll('diary_id = :diary_id', [':diary_id' => $id]); // 推荐队列 RecommendQueue::deleteDiaryById($id); $result = ['statusCode' => '200', 'message' => '操作成功', 'navTabId' => 'diary_diary_index_id', 'forwardUrl' => '', 'callbackType' => '']; echo Json::encode($result); }