12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace Tests\Repositories;
- use Dcat\Admin\Grid;
- use Dcat\Admin\Repositories\Repository;
- use Faker\Factory;
- use Illuminate\Pagination\LengthAwarePaginator;
- class Report extends Repository
- {
- public function get(Grid\Model $model)
- {
- $items = $this->fetch();
- $paginator = new LengthAwarePaginator(
- $items,
- 1000,
- $model->getPerPage(), // 传入每页显示行数
- $model->getCurrentPage() // 传入当前页码
- );
- // 必须设置链接
- $paginator->setPath(\url()->current());
- return $paginator;
- }
- /**
- * 这里生成假数据演示报表功能.
- *
- * @return array
- */
- public function fetch()
- {
- $faker = Factory::create();
- $data = [];
- for ($i = 0; $i < 20; $i++) {
- $data[] = [
- 'content' => $faker->text,
- 'cost' => $faker->randomFloat(),
- 'avgMonthCost' => $faker->randomFloat(),
- 'avgQuarterCost' => $faker->randomFloat(),
- 'avgYearCost' => $faker->randomFloat(),
- 'incrs' => $faker->numberBetween(1, 999999999),
- 'avgMonthVist' => $faker->numberBetween(1, 999999),
- 'avgQuarterVist' => $faker->numberBetween(1, 999999),
- 'avgYearVist' => $faker->numberBetween(1, 999999),
- 'avgVists' => $faker->numberBetween(1, 999999),
- 'topCost' => $faker->numberBetween(1, 999999999),
- 'topVist' => $faker->numberBetween(1, 9999990009),
- 'topIncr' => $faker->numberBetween(1, 99999999),
- 'date' => $faker->date(),
- ];
- }
- return $data;
- }
- }
|