Repository.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. /*
  3. * This file is part of the dcat-admin.
  4. *
  5. * (c) jqh <841324345@qq.com>
  6. *
  7. * This source file is subject to the MIT license that is bundled
  8. * with this source code in the file LICENSE.
  9. */
  10. namespace Dcat\Admin\Contracts;
  11. use Dcat\Admin\Form;
  12. use Dcat\Admin\Grid;
  13. use Dcat\Admin\Show;
  14. use Illuminate\Support\Collection;
  15. interface Repository
  16. {
  17. /**
  18. * 获取主键名称.
  19. *
  20. * @return string|array
  21. */
  22. public function getKeyName();
  23. /**
  24. * 获取创建时间字段.
  25. *
  26. * @return string
  27. */
  28. public function getCreatedAtColumn();
  29. /**
  30. * 获取更新时间字段.
  31. *
  32. * @return string
  33. */
  34. public function getUpdatedAtColumn();
  35. /**
  36. * 是否使用软删除.
  37. *
  38. * @return bool
  39. */
  40. public function isSoftDeletes();
  41. /**
  42. * 获取Grid表格数据.
  43. *
  44. * @param Grid\Model $model
  45. * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator|Collection|array
  46. */
  47. public function get(Grid\Model $model);
  48. /**
  49. * 获取编辑页面数据.
  50. *
  51. * @param Form $form
  52. * @return array|\Illuminate\Contracts\Support\Arrayable
  53. */
  54. public function edit(Form $form);
  55. /**
  56. * 获取详情页面数据.
  57. *
  58. * @param Show $show
  59. * @return array|\Illuminate\Contracts\Support\Arrayable
  60. */
  61. public function detail(Show $show);
  62. /**
  63. * 新增记录.
  64. *
  65. * @param Form $form
  66. * @return int|bool|\Dcat\Admin\Http\JsonResponse
  67. */
  68. public function store(Form $form);
  69. /**
  70. * 查询更新前的行数据.
  71. *
  72. * @param Form $form
  73. * @return array|\Illuminate\Contracts\Support\Arrayable
  74. */
  75. public function updating(Form $form);
  76. /**
  77. * 更新数据.
  78. *
  79. * @param Form $form
  80. * @return bool|\Dcat\Admin\Http\JsonResponse
  81. */
  82. public function update(Form $form);
  83. /**
  84. * 删除数据.
  85. *
  86. * @param Form $form
  87. * @param array $deletingData
  88. * @return mixed|\Dcat\Admin\Http\JsonResponse
  89. */
  90. public function delete(Form $form, array $deletingData);
  91. /**
  92. * 查询删除前的行数据.
  93. *
  94. * @param Form $form
  95. * @return array|\Illuminate\Contracts\Support\Arrayable
  96. */
  97. public function deleting(Form $form);
  98. }