SystemLogSearch.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace backend\models\search;
  3. use backend\models\SystemLog;
  4. use yii\base\Model;
  5. use yii\data\ActiveDataProvider;
  6. /**
  7. * SystemLogSearch represents the model behind the search form about `backend\models\SystemLog`.
  8. */
  9. class SystemLogSearch extends SystemLog
  10. {
  11. /**
  12. * @inheritdoc
  13. */
  14. public function rules()
  15. {
  16. return [
  17. [['id', 'log_time', 'message'], 'integer'],
  18. [['category', 'prefix', 'level'], 'safe'],
  19. ];
  20. }
  21. /**
  22. * @inheritdoc
  23. */
  24. public function scenarios()
  25. {
  26. // bypass scenarios() implementation in the parent class
  27. return Model::scenarios();
  28. }
  29. /**
  30. * Creates data provider instance with search query applied
  31. * @return ActiveDataProvider
  32. */
  33. public function search($params)
  34. {
  35. $query = SystemLog::find();
  36. $dataProvider = new ActiveDataProvider([
  37. 'query' => $query,
  38. ]);
  39. if (!($this->load($params) && $this->validate())) {
  40. return $dataProvider;
  41. }
  42. $query->andFilterWhere([
  43. 'id' => $this->id,
  44. 'level' => $this->level,
  45. 'log_time' => $this->log_time,
  46. 'message' => $this->message,
  47. ]);
  48. $query->andFilterWhere(['like', 'category', $this->category])
  49. ->andFilterWhere(['like', 'prefix', $this->prefix]);
  50. return $dataProvider;
  51. }
  52. }