ItemRepository.php 785 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace App\Module\GameItems\Repositorys;
  3. use App\Module\GameItems\Models\Item;
  4. use Dcat\Admin\Repositories\EloquentRepository;
  5. /**
  6. * 物品数据仓库类
  7. *
  8. * 提供物品数据的访问和操作功能,包括复制物品等。
  9. * 该类是物品模块与后台管理系统的桥梁,用于处理物品数据的CRUD操作。
  10. */
  11. class ItemRepository extends EloquentRepository
  12. {
  13. protected $eloquentClass = Item::class;
  14. /**
  15. * 复制物品
  16. * @param int $id 物品ID
  17. * @return Item
  18. */
  19. public function duplicate(int $id): Item
  20. {
  21. $item = $this->eloquentClass::findOrFail($id);
  22. $newItem = $item->replicate();
  23. $newItem->name = $item->name . ' (复制)';
  24. $newItem->save();
  25. return $newItem;
  26. }
  27. }