GameMembers.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Admin\Actions\Games;
  3. use App\Models\GameUser;
  4. use Dcat\Admin\Grid;
  5. use Dcat\Admin\Grid\LazyRenderable;
  6. class GameMembers extends LazyRenderable
  7. {
  8. public function grid(): Grid
  9. {
  10. $grid = new Grid(new GameUser());
  11. $grid->model()->with('user:id,name,avatar')->where('game_id',$this->payload['id'])->orderByDesc('id');
  12. $grid->column('user.id','ID');
  13. $grid->column('user.name',trans('user.fields.name'));
  14. $grid->column('user.avatar',trans('user.fields.avatar'))->image('',50);
  15. $grid->column('level',trans('game-user.fields.level'))->using([
  16. 1=>trans('game-user.fields.red'),
  17. 2=>trans('game-user.fields.white'),
  18. 3=>trans('game-user.fields.blue'),
  19. 4=>trans('game-user.fields.gold')])
  20. ->label(['gray','red','write','blue','gold']);
  21. $grid->column('type',trans('game-user.fields.type'))->using([
  22. 1=>trans('game-user.fields.normal'),
  23. 2=>trans('game-user.fields.fictitious')
  24. ])->label(['gray','green','gray']);
  25. $grid->column('created_at');
  26. $grid->quickSearch(['user.name']);
  27. $grid->paginate(10);
  28. $grid->disableRowSelector();
  29. $grid->disableActions();
  30. return $grid;
  31. }
  32. }