Search.php 933 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: NODELOG
  5. * Date: 16/7/24
  6. * Time: 下午8:13
  7. */
  8. namespace common\models;
  9. use hightman\xunsearch\ActiveRecord;
  10. use yii\data\ActiveDataProvider;
  11. class Search extends ActiveRecord
  12. {
  13. public function getArticle()
  14. {
  15. return Article::findOne($this->id);
  16. }
  17. public function getTrueView()
  18. {
  19. return $this->getArticle() ? $this->getArticle()->getTrueView() : 0;
  20. }
  21. public function getComment()
  22. {
  23. return $this->getArticle() ? $this->getArticle()->comment : 0;
  24. }
  25. public function search($q)
  26. {
  27. $query = self::find()->where($q)->andWhere(['status' => 1]);
  28. $dataProvider = new ActiveDataProvider([
  29. 'query' => $query,
  30. 'sort' => [
  31. 'defaultOrder' => [
  32. 'published_at' => SORT_DESC,
  33. ]
  34. ]
  35. ]);
  36. return $dataProvider;
  37. }
  38. }