Assignment.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace common\modules\rbac\models\searchs;
  3. use Yii;
  4. use yii\base\Model;
  5. use yii\data\ActiveDataProvider;
  6. /**
  7. * AssignmentSearch represents the model behind the search form about Assignment.
  8. *
  9. * @author Misbahul D Munir <misbahuldmunir@gmail.com>
  10. *
  11. * @since 1.0
  12. */
  13. class Assignment extends Model
  14. {
  15. public $id;
  16. public $username;
  17. /**
  18. * {@inheritdoc}
  19. */
  20. public function rules()
  21. {
  22. return [
  23. [['id', 'username'], 'safe'],
  24. ];
  25. }
  26. /**
  27. * {@inheritdoc}
  28. */
  29. public function attributeLabels()
  30. {
  31. return [
  32. 'id' => Yii::t('rbac', 'ID'),
  33. 'username' => Yii::t('rbac', 'Username'),
  34. 'name' => Yii::t('rbac', 'Name'),
  35. ];
  36. }
  37. /**
  38. * Create data provider for Assignment model.
  39. *
  40. * @param array $params
  41. * @param \yii\db\ActiveRecord $class
  42. * @param string $usernameField
  43. *
  44. * @return \yii\data\ActiveDataProvider
  45. */
  46. public function search($params, $class, $usernameField)
  47. {
  48. $query = $class::find();
  49. $dataProvider = new ActiveDataProvider([
  50. 'query' => $query,
  51. ]);
  52. if (!($this->load($params) && $this->validate())) {
  53. return $dataProvider;
  54. }
  55. $query->andFilterWhere(['like', $usernameField, $this->username]);
  56. return $dataProvider;
  57. }
  58. }