ShopOrderGoods.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace app\common\model\shops;
  3. use app\common\model\BaseModel;
  4. /**
  5. * ShopOrderGoods模型
  6. * Class ShopOrderGoods
  7. * @package app\common\model\shops
  8. */
  9. class ShopOrderGoods extends BaseModel
  10. {
  11. protected $name = 'shop_order_goods';
  12. protected $type = [
  13. 'goods_category_ids' => 'array',
  14. 'goods_banners' => 'array',
  15. ];
  16. public function getSpecArrAttr($value,$data)
  17. {
  18. $value = [];
  19. if(in_array($data['specs_type'], [1,2])){
  20. $value = json_decode($data['specs'],true);
  21. }
  22. if($data['specs_type']== 3){
  23. $customAttributeItems = json_decode($data['custom_attribute_items'],true);
  24. $specs = json_decode($data['specs'],true);
  25. foreach ($specs as $k=>$v){
  26. $specStrArr = explode('-',$v);
  27. $val = [];
  28. foreach($customAttributeItems as $kk=>$vv){
  29. if($specStrArr[0] == $vv['sign']){
  30. $val['title'] = $vv['title'];
  31. $val['sign'] = $vv['sign'];
  32. foreach($vv['spec_items'] as $kkk=>$vvv){
  33. if($specStrArr[1] == $vvv['spec_sign']){
  34. $val += $vvv;
  35. }
  36. }
  37. break;
  38. }
  39. }
  40. $value[] = $val;
  41. }
  42. }
  43. return $value;
  44. }
  45. }