ProductCateDao.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\common\dao\store\product;
  12. use app\common\dao\BaseDao;
  13. use app\common\model\store\product\ProductCate as model;
  14. class ProductCateDao extends BaseDao
  15. {
  16. protected function getModel(): string
  17. {
  18. return model::class;
  19. }
  20. /**
  21. * 清除指定产品的属性
  22. *
  23. * 本函数用于删除数据库中与指定产品ID相关联的所有属性记录。
  24. * 通过调用关联模型的where方法来筛选出特定产品ID的属性记录,然后调用delete方法进行删除。
  25. *
  26. * @param int $productId 产品的ID,用于指定要清除属性的产品。
  27. * @return int 返回受影响的行数,即被删除的属性记录数。
  28. */
  29. public function clearAttr(int $productId)
  30. {
  31. // 使用动态模型删除与指定产品ID相关的所有属性记录
  32. return ($this->getModel())::where('product_id',$productId)->delete();
  33. }
  34. /**
  35. * 插入数据到数据库。
  36. *
  37. * 本函数用于将给定的数据数组批量插入到数据库。它首先通过getModel方法获取模型对象,
  38. * 然后调用该对象的getDB方法来获取数据库连接对象,最后通过调用insertAll方法来执行数据插入操作。
  39. *
  40. * @param array $data 包含多条待插入数据的数组,每条数据是一个子数组。
  41. * @return mixed 返回数据库操作的结果。具体类型取决于数据库库的实现。
  42. */
  43. public function insert(array $data)
  44. {
  45. // 通过模型获取数据库对象,并执行批量插入操作
  46. return ($this->getModel()::getDB())->insertAll($data);
  47. }
  48. /**
  49. * 清除特定字段中具有指定ID的记录。
  50. *
  51. * 此方法通过提供的ID和字段名称,从数据库中删除符合条件的记录。
  52. * 它首先获取模型对应的数据库实例,然后使用提供的字段和ID构建删除条件,
  53. * 最后执行删除操作。
  54. *
  55. * @param int $id 主键ID,用于指定要删除的记录。
  56. * @param string $field 要用于删除条件的字段名称。
  57. */
  58. public function clear(int $id, string $field)
  59. {
  60. $this->getModel()::getDB()->where($field, $id)->delete();
  61. }
  62. }