GoodsParam.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: 芸众商城 www.yunzshop.com
  5. * Date: 2017/2/22
  6. * Time: 下午18:16
  7. */
  8. namespace app\backend\modules\goods\models;
  9. class GoodsParam extends \app\common\models\GoodsParam
  10. {
  11. static protected $needLog = true;
  12. public static function store($goods_id, $parameter)
  13. {
  14. $paramids = [];
  15. foreach ($parameter as $key => $item) {
  16. $param = [
  17. "uniacid" => \YunShop::app()->uniacid,
  18. "title" => $item['title'],
  19. "value" => $item['value'],
  20. "displayorder" => $key,
  21. "goods_id" => $goods_id
  22. ];
  23. if (!intval($item['id'])) {
  24. $goods_param = self::create($param);
  25. $param_id = $goods_param->id;
  26. } else {
  27. $goods_param = GoodsParam::updateOrCreate(['id' => intval($item['id'])], $param);
  28. $param_id = $goods_param->id;
  29. }
  30. $paramids[] = $param_id;
  31. }
  32. //删除本商品其它规格
  33. if (count($paramids) > 0) {
  34. GoodsParam::where('goods_id', '=', $goods_id)->whereNotIn('id', $paramids )->delete();
  35. } else {
  36. GoodsParam::where('goods_id', '=', $goods_id)->delete();
  37. }
  38. }
  39. public static function saveParam($data, $goods_id)
  40. {
  41. $param_ids = $data->param_id;
  42. $param_titles = $data->param_title;
  43. $param_values = $data->param_value;
  44. $param_displayorders = $data->param_displayorder;
  45. $paramLen = count($param_ids);
  46. $paramids = [];
  47. for ($paramIndex = 0; $paramIndex < $paramLen; $paramIndex++) {
  48. $param_id = "";
  49. $get_param_id = $param_ids[$paramIndex];
  50. $param = [
  51. "uniacid" => \YunShop::app()->uniacid,
  52. "title" => $param_titles[$paramIndex],
  53. "value" => $param_values[$paramIndex],
  54. "displayorder" => $paramIndex,
  55. "goods_id" => $goods_id
  56. ];
  57. if (!is_numeric($get_param_id)) {
  58. $goods_param = GoodsParam::Create($param);
  59. $param_id = $goods_param->id;
  60. } else {
  61. GoodsParam::updateOrCreate(['id' => $get_param_id], $param);
  62. $param_id = $get_param_id;
  63. }
  64. $paramids[] = $param_id;
  65. }
  66. //删除本商品其它规格
  67. if (count($paramids) > 0) {
  68. GoodsParam::where('goods_id', '=', $goods_id)->whereNotIn('id', $paramids )->delete();
  69. } else {
  70. GoodsParam::where('goods_id', '=', $goods_id)->delete();
  71. //pdo_query('delete from ' . tablename('sz_yi_goods_param') . " where goodsid=$id");
  72. }
  73. }
  74. }